У меня есть массив result2
объектов, и у каждого объекта есть атрибуты. Поэтому, если я вызываю console.dir(result3);
в моей консоли я вижу
Я бы солгал, чтобы сортировать мои объекты, например мне нужен объект с
sm[['_akzsilb'] === 'LV'
sm ['_graphem'] === 'diphtong']
Я старался
const result3 = [];
for (let i = 0; i < result2.length; i++) {
if (result2[i].sm[['_akzsilb'] === 'LV' && ['_graphem'] === 'diphtong']) {
result3.push(result2[i]);
}
}
Но это не работает. Я думаю, это правильное направление, потому что если я попробую что-то вроде
const result3 = [];
for (let i = 0; i < result2.length; i++) {
if (result2[i].sm) {
result3.push(result2[i]);
}
}
оно работает. Так как я мог бы пойти "глубже" и получить доступ к обоим (мне нужны оба, поэтому они оба должны существовать по объекту) _akzsilb
и _graphem
Вы можете использовать фильтр Array.
Метод filter() создает новый массив со всеми элементами, которые проходят тест, реализованный предоставленной функцией.
let arr = [{
name: "Joe",
rank: "Private",
serialnum: 1
},
{
name: "Bob",
rank: "General",
serialnum: 4
},
{
name: "Kev",
rank: "Private",
serialnum: 6
},
{
name: "Kel",
rank: "Private",
serialnum: 3
}
];
let results = arr.filter(person => person.rank === "Private" && person.serialnum != 6);
console.log(results);