#javascript #reactjs
#javascript #reactjs
Вопрос:
как мне создать новый массив, если мои массивы имеют одинаковый идентификатор в React Я запутался в обработке массива в 2 массива, если у него одинаковый идентификатор, тогда каковы правильные шаги, чтобы я мог найти выход?
мой массив
array = [
{
name : 'foo1',
id_ : 3451,
statuse : true
},
{
name : 'foo2',
id_ : 3451,
statuse : false
},
{
name : 'foo3',
id_ : 3452,
statuse : false
},
{
name : 'foo1',
id_ : 3452,
statuse : true
},
]
и результаты, которые я хочу
result = [
[
{
name : 'foo1',
id_ : 3451,
statuse : true
},
{
name : 'foo2',
id_ : 3451,
statuse : false
},
],
[
{
name : 'foo3',
id_ : 3452,
statuse : false
},
{
name : 'foo1',
id_ : 3452,
statuse : true
},
]
]
Ответ №1:
Ваш вопрос немного неясен, но я полагаю, что вы хотите сгруппировать элементы массива по id_
полю элемента.
Вы можете сделать это с помощью следующего фрагмента:
const inputs = [
{ name : 'foo1', id_ : 3451, statuse : true },
{ name : 'foo2', id_ : 3451, statuse : false },
{ name : 'foo3', id_ : 3452, statuse : false },
{ name : 'foo1', id_ : 3452, statuse : true },
];
const ids = inputs.map(input => input.id_);
const uniqIds = [ ...new Set(ids) ];
const result = uniqIds.map(id => {
return inputs.filter(input => input.id_ === id);
});
console.log(result);