簡體   English   中英

JavaScript代碼從數組中刪除項目出錯

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

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