нужно получить индекс объекта с нужным ключём. Имеется массив:
let arr = [[{id: 1, name: 'admin', ob: 3},{id: 2, name: 'user 1', ob: 4}, {}],[{id: 3, name: 'admin 2', ob: 6},{id: 4, name: 'user 2', ob: 1}, {}],[{id: 5, name: 'admin 3', ob: 1},{id: 6, name: 'user 3', ob: 1}, {}]];
Как можно получить индекс объекта с id: 5, что бы получить arr[2][0].
$.each(arr, function (i, member) {
for (let i in member) {
console.log(member.find(x => x.id === id));
}
});
Пробовал перебрать через each, но не дало нужного результата, в каком направлении двигаться?
вариант 1: перебрать большой массив и и на каждой итерации перебирать маленький и сравнивать id
let arr = [[{id: 1, name: 'admin', ob: 3},{id: 2, name: 'user 1', ob: 4}, {}],[{id: 3, name: 'admin 2', ob: 6},{id: 4, name: 'user 2', ob: 1}, {}],[{id: 5, name: 'admin 3', ob: 1},{id: 6, name: 'user 3', ob: 1}, {}]];
arr.forEach((elem, index) => {
elem.forEach((el, i) => {
if(el.id === 5){
console.log(index, i);
}
});
});
Вариант 2: по сути то же самое, только с использование findIndex
let arr = [[{id: 1, name: 'admin', ob: 3},{id: 2, name: 'user 1', ob: 4}, {}],[{id: 3, name: 'admin 2', ob: 6},{id: 4, name: 'user 2', ob: 1}, {}],[{id: 5, name: 'admin 3', ob: 1},{id: 6, name: 'user 3', ob: 1}, {}]];
arr.forEach((elem, index) => {
const i = elem.findIndex((x) => x.id === 5);
if(i !== -1){
console.log(index, i);
}
});
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Написал код для открытия текстового файла:
Как реализовать подобную таблицу с использованием React MATERIAL-UI?