Как отфильтровать многомерный массив? - PullRequest
0 голосов
/ 25 июня 2019

У меня есть массив. Я хочу отфильтровать данные по их отделу.

Я попробовал следующий код

this.arr.filter((item)=> {
             return (item.NAME.indexOf(value) > -1);
           });

this.arr = [{DEPT : "A"
DETAIL: {NAME:"ABC", CODE:"1"}
}
{DEPT : "B"
DETAIL: {NAME:"TEST",CODE:"2"}
}]

Я ожидаю выхода

[{DEPT : "A"
DETAIL: {NAME:"ABC", CODE:"1"}
}]

, но фактический результат равен

[{DEPT : "A"
DETAIL: {NAME:"ABC", CODE:"1"}
}
{DEPT : "B"
DETAIL: {NAME:"TEST",CODE:"2"}
}]

1 Ответ

0 голосов
/ 26 июня 2019

Этот код работает так, как вы ожидаете:

arr = [{
    DEPT: "A",
    DETAIL: { NAME: "ABC", CODE: "1" }
  },
  {
    DEPT: "B",
    DETAIL: { NAME: "TEST", CODE: "2" }
  }];

Этот код

console.log(this.arr.filter((item) => item.DETAIL.NAME.indexOf('ABC') > -1 ))

отпечатков:

[{
    DEPT: "B",
    DETAIL: { NAME: "TEST", CODE: "2" }
}]

Работает Стекблит

...