[英]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.