解决方法如下所示:
// 原始数组
var arr = [
{id: 1, name: 'John', age: 25},
{id: 2, name: 'Jane', age: 30},
{id: 3, name: 'Bob', age: 20},
{id: 4, name: 'Alice', age: 35}
];
// 错误的对象
var errorObject = {id: 2, name: 'Jane', age: 30};
// 筛选数组删除错误的对象
var filteredArr = arr.filter(function(obj) {
// 判断对象的值是否与错误的对象相等
return obj.id !== errorObject.id || obj.name !== errorObject.name || obj.age !== errorObject.age;
});
console.log(filteredArr); // 输出筛选后的数组
此代码示例中,我们使用了数组的filter()
方法来筛选数组并删除错误的对象。filter()
方法会创建一个新的数组,其中包含通过给定函数测试的所有元素。
在给定的函数内部,我们使用了逻辑运算符||
来判断对象的值是否与错误的对象相等。如果对象的值与错误的对象相等,则返回false
,将该对象从筛选后的结果中删除。
最后,我们打印输出了筛选后的数组,其中已删除了错误的对象。