我正在使用grep从我的数组中删除一个对象。如果键是相同的,它将起作用,但我希望它从数组中移除,如果它匹配值myVar
(我使用的值,因为它将是唯一的),但我无法进入因为我只能访问索引。
如何从我的数组中删除包含在myVar
等中的Paris,London的任何值的对象?
function myFunction(){
var arr = [
{country:"USA"},
{country:"France"},
{country:"England"},
{city:"New York"},
{city:"Paris"},
{city:"London"},
];
var myVar = 'Paris';//Change variable
arr = $.grep(arr, function(data, index) {
return data.GET_TO_MY_VALUE!= myVar;
});
console.log(arr);
}
myFunction();
答案 0 :(得分:2)
从
返回grepped array
function
要拥有多个条件,请使用||
运算符。
function myFunction(myVar) {
var arr = [{
country: "USA"
}, {
country: "France"
}, {
country: "England"
}, {
city: "New York"
}, {
city: "Paris"
}, {
city: "London"
}];
return $.grep(arr, function(data, index) {
return (data.city && data.city != myVar) || (data.country && data.country != myVar);
});
}
console.log(JSON.stringify(myFunction('Paris')));
console.log(JSON.stringify(myFunction('England')));

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
&#13;