var ar = [
{
id: 1,
services: [
{
id: 12
},
{
id: 23
}
]
},
{
id: 2,
services: [
{
id: 12
},
{
id: 45
}
]
}
];
var t= [];
Через indexOf не получилось.
function insert_uniqe(collection, el) {
if (!collection.some(function (current) {
return current.id === el.id
})) {
collection.push(el);
}
}
var has = false;
for(var i = 0; i < arr.length; i++)if(arr[i].id == val.id){
has = true;
break;
}
has || arr.push({
id: val.id,
label: val.name,
})
some
. ES6 добавляет методы find
/ findIndex
, что упрощают поиск элемента в массиве.