我正在尝试从数组中删除项目:
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);
}
}
这是有效的,除了它从data [0]中不存在的transformedColumns中删除一个值。假设transformedColumns包含[“Item No”,“Item Name”,“Item State”],data [0]包含[“Item No”,Item Name“]。应该从transformedColumnes中删除的唯一值是Item No和项目名称,而不是项目状态。
我做错了什么?
答案 0 :(得分:1)
data[0].indexOf(transformedColumns[i] > -1)
You having wrong condition statement. your condition should be
(data[0].indexOf(transformedColumns[i]) >-1 )
You are passing a condition to indexOf which fails
indexOf(transformedColumns[i] > -1)
That is the reason it is returning true for all the cases. Should work after you fix that
for (var i = 0; i < transformedColumns.length; i++) {
if (data[0].indexOf(transformedColumns[i]) > -1 ) {
transformedColumns.splice(transformedColumns[i], 1);
}
}