У меня есть массив объектов, как это:Удаление объектов с общими переменными в массиве
var objs = [
{ x : 2,
y : 2,
a : true
},
{ x : 2,
y : 2,
a : false
},
{ x : 2,
y : 3,
a : false
},
{ x : 2,
y : 4,
a : false
},
];
Моя цель получить только те объекты, которые имеют значение a
набора в false
, так что я сделал это:
var filter = objs.filter(function(obj) { return !obj.a; });
Это работает очень хорошо, но сейчас мне нужно удалить все объекты, которые имеют тот же x
и y
другого объекта и иметь a
набор для false
из исходного массива. Поэтому в моем примере нужно удалить только второй объект (objs[1]
), потому что значения x
и y
совпадают с objs[0]
, но a
установлен в false
. Ouput примера будет таким:
var objs = [
{ x : 2,
y : 2,
a : true
},
{ x : 2,
y : 3,
a : false
},
{ x : 2,
y : 4,
a : false
},
];
Изображение быть более ясным:
OBS .: Vanilla только JS.
Используйте '$ .map()' JQuery метод –
Ответ, кажется, так просто - почти прямой перевод слова, которые вы использовали. Вы пытались решить это самостоятельно и какие у вас были мысли? –
Вы хотите удалить объект 'b' if' b.x === a.x && b.y === a.y' или удалить 'b', если' b.x === b.y'? – TeoMor