我的代码在下面出了什么问题?
var arr = [{
"key": 123,
"player_data": {
"id": 1
}
}, {
"key": 456,
"player_data": {
"id": 1
}
}]
arr.filter(function (el) {
return el.key != 123;
});
console.log(arr);
我希望删除带有键123的对象吗?
答案 0 :(得分:0)
arr.filter()
返回一个新数组,但不会更改原始数组。您正在记录未受影响的原件。尝试..
var arr = [{
"key": 123,
"player_data": {
"id": 1
}
}, {
"key": 456,
"player_data": {
"id": 1
}
}]
var foo = arr.filter(function (el) {
return el.key !== 123;
});
console.log(foo);
答案 1 :(得分:0)
更新
arr.filter(function (el) {
return el.key != 123;
});
到
arr = arr.filter(function (el) {
return el.key != 123;
});
注意:filter
函数不会更改现有数组,而是返回一个新数组。
供参考 - https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/filter