删除在 for 循环中找到的匹配项
remove matched items found in for loop
我正在搜索对象数据响应并检测它是否包含“wdt”。这工作正常;然而,我正在努力销毁或 删除 找到的项目,使其无法使用我的 data
.
进行处理
不相信在 JavaScript?[=14 中有像 delete 这样的有效关键字可以做到这一点=]
我目前正在尝试 splice
,但似乎没有效果。仍在我的 console.log(data);
中找到项目
let data = await getData();
filterChkpt();
function filterChkpt(){
for (let i = 0; i < data.length; i++) {
if (data[i].url.indexOf('wdt') > -1) {
console.log(data[i]);
data[i].splice(index, 1); // here would like to remove matches
} else {
// console.log('else: ', data[i].url);
}
}
}
console.log(data);
if (!this.data) {
this.data = {};
}
this.data.storage = new Memory({ data });
return this;
除非出于某种原因需要改变原始对象,这就是 array.filter 的用途。 (这让我害怕在迭代对象时修改对象。)
const data = Array.from({length: 10}, () => ({ url: Math.random() > 0.5 ? 'foo' : 'bar' }));
console.log(data);
console.log(data.filter(x => x.url === 'foo'));
这不是解决方案,而是对代码未按预期工作的原因的解释
a = [a, b, c, d, e, f]
i=0 => a
i=1 => b
i=2 => c ( now you decide to splice the array >> a = [a, b, d, e, f]
i=3 => e! ( you missed the "d" cos it was shifted to the left
你应该i--
每次拼接数组
我正在搜索对象数据响应并检测它是否包含“wdt”。这工作正常;然而,我正在努力销毁或 删除 找到的项目,使其无法使用我的 data
.
不相信在 JavaScript?[=14 中有像 delete 这样的有效关键字可以做到这一点=]
我目前正在尝试 splice
,但似乎没有效果。仍在我的 console.log(data);
let data = await getData();
filterChkpt();
function filterChkpt(){
for (let i = 0; i < data.length; i++) {
if (data[i].url.indexOf('wdt') > -1) {
console.log(data[i]);
data[i].splice(index, 1); // here would like to remove matches
} else {
// console.log('else: ', data[i].url);
}
}
}
console.log(data);
if (!this.data) {
this.data = {};
}
this.data.storage = new Memory({ data });
return this;
除非出于某种原因需要改变原始对象,这就是 array.filter 的用途。 (这让我害怕在迭代对象时修改对象。)
const data = Array.from({length: 10}, () => ({ url: Math.random() > 0.5 ? 'foo' : 'bar' }));
console.log(data);
console.log(data.filter(x => x.url === 'foo'));
这不是解决方案,而是对代码未按预期工作的原因的解释
a = [a, b, c, d, e, f]
i=0 => a
i=1 => b
i=2 => c ( now you decide to splice the array >> a = [a, b, d, e, f]
i=3 => e! ( you missed the "d" cos it was shifted to the left
你应该i--
每次拼接数组