У меня есть массив объектов, как это:Фильтрация массив объектов - несколько критериев
var data = [
{
name: "block",
sameid: 500,
parentid: 62
},
{
name: "circle",
sameid: 500,
parentid: 62
},
{
name: "cube",
sameid: 500,
parentid: 62
}
]
Мне нужно сделать фильтр на этот массив, чтобы удалить объекты, которые имеют sameid и тот же ParentID , Но вот поворот, который беспокоит меня ... Если я получаю этот массив объектов:
var data = [
{
name: "block",
sameid: 500,
parentid: 62
},
{
name: "circle",
sameid: 500,
parentid: 62
},
{
name: "cube",
sameid: 500,
parentid: 62
},
{
name: "grain",
sameid: 500,
parentid: 63
}
]
Вы можете увидеть, что объект с именем зерном (последним), он имеет различную ParentID. если это так, то ничего не нужно удалять.
Я ломаю голову вокруг этого. Первые критерии, которые я должен учитывать, являются одинаковыми. Я должен их сгруппировать. Затем как-то проверьте наличие идентификаторов родителей.
Массив может содержать множество различных sameid-х и ParentID в
UPDATE: В первом случае, когда данные есть три объекта. Все должны быть удалены, потому что все они имеют одинаковые одинаковые и родительские.
Во втором случае, когда данные имеют четыре объекта, все четыре должны быть сохранены, так как существует один другой объект с разным родителем.
UPDATE Желаемый результат:
var filteredObjects = [];
data = [
{
name: "block",
sameid: 500,
parentid: 62
},
{
name: "circle",
sameid: 500,
parentid: 62
},
{
name: "cube",
sameid: 500,
parentid: 62
},
{
name: "grain",
sameid: 500,
parentid: 63
}
]
В этом случае filteredObject будет иметь все значения, так как есть одна другая ParentId:
filteredObjects [{
name: "block",
sameid: 500,
parentid: 62
},
{
name: "circle",
sameid: 500,
parentid: 62
},
{
name: "cube",
sameid: 500,
parentid: 62
},
{
name: "grain",
sameid: 500,
parentid: 63
}]
В этом случае:
var filteredObjects = [];
data = [
{
name: "block",
sameid: 500,
parentid: 62
},
{
name: "circle",
sameid: 500,
parentid: 62
},
{
name: "cube",
sameid: 500,
parentid: 62
}
]
filterObject не будет иметь значений. Массив данных также может содержать разные аналоги.
Можете ли вы показать желаемый результат? –
У вас есть какой-либо код, который вы пробовали? – Xotic750
Я все еще пытаюсь понять, как это сделать ... мне ничего не приходит в голову :( –