[英]JavaScript code to remove item from array goes wrong
我正在嘗試從數組中刪除項目:
for (var i = 0; i < transformedColumns.length; i++) {
if (data[0].indexOf(transformedColumns[i] > -1)) {
delete transformedColumns[i];
}
}
我正在做的事情是檢查transformColumns [i]中的值是否存在於data [0]數組中。 如果是,則應從transformedColumns中刪除該值。
但是當我像上面那樣做時,整個transformedColumns變得不確定。
for (var i = 0; i < transformedColumns.length; i++) {
if (data[0].indexOf(transformedColumns[i] > -1)) {
transformedColumns.splice(transformedColumns[i], 1);
}
}
除從data [0]中不存在的transformedColumns中刪除一個值外,此方法有效。 比方說,transformedColumns包含[“ Item No”,“ Item Name”,“ Item State”],而data [0]包含[“ Item No”,Item Name“]。和商品名稱,而不是商品狀態。
我究竟做錯了什么?
data[0].indexOf(transformedColumns[i] > -1)
您的條件陳述有誤。 你的情況應該是
(data[0].indexOf(transformedColumns[i]) >-1 )
您正在傳遞條件到indexOf失敗
indexOf(transformedColumns[i] > -1)
這就是在所有情況下它都返回true的原因。 解決該問題后應該可以工作
for (var i = 0; i < transformedColumns.length; i++) {
if (data[0].indexOf(transformedColumns[i]) > -1 ) {
transformedColumns.splice(transformedColumns[i], 1);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.