簡體   English   中英

如何使用從DOM檢索的值拆分數組

[英]How to split an array with retrieved values from DOM

我已經從一個表中檢索到了值,這些值源自一個單列,最終存儲在數組中。 但是所有數據都存儲在單個索引中,並且我沒有成功使用.split拆分數組。

第1步-我的目標是身體和tr。

var stuff = document.getElementById('pricetable').querySelectorAll('tbody tr');

步驟2-我啟動一個for循環:

for (var i = 0; i < rows.length-1; i++) {
        var rows2 = Array.prototype.slice.call(stuff)[i].querySelectorAll('td')[3];}

rows2現在將輸出一個類似於以下內容的字符串:

<td>​2400​</td>​ 
<td>​1900​</td>​
<td>​9790​</td>​
<td>​1098​</td>​
<td>​1289​</td>​
<td>​3284​</td>​

我認為我的問題從這里開始,因為我不知道如何將其放入數組並讓每個值都存儲自己的索引。

第3步-要僅檢索文本,我創建一個新變量:

var my_list = rows2.textContent;    

步驟4-然后嘗試分割陣列:

var price_list = my_list.split(','));

盡管price_list是一個數組(我已驗證 ),但所有值都保留在price_list [0]中。 它打印如下:

["2400"]
["1900"]
["9790"]
["1098"]
["1289"]
["3284"]

如果在這種情況下split無法解決問題,我是否需要遍歷這些值? 如果是這樣,怎么辦? 還是我應該采取其他措施? 我完成的研究說明了split如何與未從DOM中檢索到的預定義字符串一起工作。

首先,這完全沒有必要...

var rows2 = Array.prototype.slice.call(stuff)[i].querySelectorAll('td')[3];

另外,您的變量命名很奇怪。 為什么在獲得第四個單元格時將其rows2

要獲取第四個單元格,只需執行以下操作:

var cell4 = stuff[i].cells[3]; 

但是,如果您想要這些值的數組,請改為執行此操作。

var list = Array.prototype.map.call(stuff, function(row) {
    return row.cells[3].textContent;
});

這從Array.prototype借用了.map()函數,它為您提供了一個新數組,其中包含您從回調返回的所有值。


如果這不是您想要的,那么您需要專門描述所追求的,而不是僅僅顯示無法滿足您需求的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM