gpt4 book ai didi

从数组中删除项目的 JavaScript 代码出错

转载 作者:行者123 更新时间:2023-12-03 03:40:00 24 4
gpt4 key购买 nike

我正在尝试从数组中删除项目:

for (var i = 0; i < transformedColumns.length; i++) {
if (data[0].indexOf(transformedColumns[i] > -1)) {
delete transformedColumns[i];
}
}

我正在做的事情是检查transformedColumns[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);
}
}

此方法有效,只不过它从transformedColumns 中删除了data[0] 中不存在的值。假设transformedColumns包含[“Item No”,“Item Name”,“Item State”]并且data[0]包含[“Item No”,Item Name”]。应该从transformedColumnes中删除的唯一值是Item No和项目名称,而不是项目状态。

我做错了什么?

最佳答案

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);
}
}

关于从数组中删除项目的 JavaScript 代码出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45669050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com