javascript删除数组中匹配的行
我有一个数组结构,如下所示,我需要删除所有具有值vik的条目javascript删除数组中匹配的行,javascript,arrays,Javascript,Arrays,我有一个数组结构,如下所示,我需要删除所有具有值vik的条目 [{"type" :"x", value: "vik"}, {"type" :"x", value: "jack"}, {"type" :"x", value: "jack"}, {"type" :"x", value: "jack"}, {"type" :"x", value: "vik"}, {"type" :"x", value: "vik"}, ] 使用具有拼接匹配值的for循环迭代vik会出错。最好的方法是什么 我的代码是
[{"type" :"x", value: "vik"},
{"type" :"x", value: "jack"},
{"type" :"x", value: "jack"},
{"type" :"x", value: "jack"},
{"type" :"x", value: "vik"},
{"type" :"x", value: "vik"},
]
使用具有拼接匹配值的for循环迭代vik会出错。最好的方法是什么
我的代码是:
for(let obj of filterList){
var i =0
for(let lead of this.core.leadLocalList){
console.log("comapring:" + lead.campaign)
if(obj.value == lead.campaign){
console.log("matched")
this.core.leadLocalList.splice(i,1)
}else
i++
}
}
您可以使用数组过滤器方法来获得所需的结果。
var data=[{“type”:“x”,值:“vik”},
{“type”:“x”,值:“jack”},
{“type”:“x”,值:“jack”},
{“type”:“x”,值:“jack”},
{“type”:“x”,值:“vik”},
{“type”:“x”,值:“vik”},
];
const result=data.filter(item=>item.value!=“vik”);
控制台日志(结果)代码>您可以使用数组过滤器方法来获得所需的结果。
var data=[{“type”:“x”,值:“vik”},
{“type”:“x”,值:“jack”},
{“type”:“x”,值:“jack”},
{“type”:“x”,值:“jack”},
{“type”:“x”,值:“vik”},
{“type”:“x”,值:“vik”},
];
const result=data.filter(item=>item.value!=“vik”);
控制台日志(结果)代码>您可以使用lodash
。这是一个非常简单的应用程序
与此类似:
_.remove( filterList, {
value: 'vik'
} );
或者,使用ES6,您可以执行以下操作:
const filtered = filterList.filter( row => row.value !== 'vik' );
但是,如果应用程序变得复杂,并且您想要更高级一点的东西,那么您可以利用谓词函数并基于此确定过滤:
_.remove( filterList, ( obj ) => {
return ( obj.propertyOne !== SOME_CONSTANT ) && ( ... )
} );
您可以使用lodash
。这是一个非常简单的应用程序
与此类似:
_.remove( filterList, {
value: 'vik'
} );
或者,使用ES6,您可以执行以下操作:
const filtered = filterList.filter( row => row.value !== 'vik' );
但是,如果应用程序变得复杂,并且您想要更高级一点的东西,那么您可以利用谓词函数并基于此确定过滤:
_.remove( filterList, ( obj ) => {
return ( obj.propertyOne !== SOME_CONSTANT ) && ( ... )
} );