https://github.com/nfcortega89/arraycardioday2

Сегодня снова тренировал голову! Итак, сегодня мы рассмотрели еще несколько методов массива. Сегодня я пройдусь по 4 из них.

Нам дан массив объектов, хранящихся в нашей переменной people. Сегодня у нас есть 2 пары ключ-значение. имя человека и год его рождения.

постоянные люди = [

{имя: «Вес», год: 1988},

{имя: «Кейт», год: 1986},

{ название: «Ирв», год: 1970},

{ название: «Люкс», год: 2015 }

];

Они хотят, чтобы мы проверили, есть ли хотя бы один человек в возрасте 19 лет или старше. Мы будем использовать Array.prototype.some(). Some будет перебирать каждый элемент в массиве и проверять, соответствует ли хотя бы 1 элемент в нашем массиве нашим критериям. Мы создадим переменную, в которой будем использовать some в нашем массиве people. Нам нужна текущая дата, поэтому мы можем использовать метод new Date() и цепочку getFullYear(), чтобы у нас был только текущий год. Когда у нас есть текущий год, мы можем вычесть его против года нашего текущего человека, и если он больше чем 19. Вот как это выглядит.

const isOne = people.some(person =› new Date().getFullYear() — person.year ›= 19)

console.log(isOne)

// мы должны вернуть true

Далее следует Array.prototype.every(). В отличие от некоторых, каждый проверяет, соответствуют ли критерии всем элементам в массиве. Теперь мы проверим, всем ли исполнилось 19 лет или больше.

const = isAll = people.every(person =› new Date().getFullYear() — person.year ›= 19)

console.log(все)

// должно вернуться как false

Нам дан другой массив объектов, хранящийся в комментариях. Как и наш массив людей, он имеет 2 пары ключ-значение. Какой-то текст и его id.

постоянные комментарии = [

{ текст: «Люблю это!», id: 523423 },

{текст: «Очень хорошо», id: 823423},

{ текст: «Ты лучший», id: 2039842 },

{ текст: «Рамен — моя любимая еда», id: 123523},

{ текст: «Хорошо, приятно, приятно!», id: 542328 }

];

Теперь нас просят использовать Array.prototype.find() для поиска комментария с идентификатором 823423. Найти как фильтр возвращает первый элемент, который он находит. Мы воспользуемся find для нашего массива комментариев и сохраним его в новой переменной с именем comment. Мы проверим, соответствует ли наш комментарий ID следующим критериям:

const comment = comments.find(comment => comment.id === 823423)

console.log(комментарий)

// должно вернуть { text: «Очень хорошо», id: 823423 },

Наконец, нас просят использовать Array.prototype.findIndex(), чтобы найти тот же комментарий и удалить его. findIndex вернет индекс элемента, который вы ищете. Мы также рассмотрим функции splice и slice, чтобы удалить комментарий, соответствующий этому идентификатору. Нам нужно создать переменную, в которой мы будем использовать findIndex в нашем массиве комментариев и проверять, какой комментарий ID соответствует нашим критериям.

const index = comments.findIndex(comment => comment.id === 823423)

теперь, когда у нас есть наш индекс, мы можем использовать splice, чтобы удалить его из нашего массива комментариев. Сращивание будет принимать в качестве аргументов индекс и количество элементов, которые вы хотите удалить.

комментарии.splice(индекс, 1)

Однако это изменит наш исходный массив. Если вы не хотите изменять исходный массив, вы можете использовать slice. Slice принимает в качестве аргументов начальный индекс и конечный индекс. Мы начнем с создания нового массива, где мы будем использовать наш синтаксис расширения (для вставки в массив), а затем с помощью нарежьте наш массив comments и передайте 0 и наш index, когда мы использовали findIndex. Мы будем использовать синтаксис расширения и снова нарезать в нашем массиве комментариев, чтобы вставить остальную часть массива, начиная с индекса +1. .

константные новые комментарии = [

…комментарии.slice(0, индекс)

…комментарии.срез(индекс + 1)

]