Совет 1. Альтернатива Console.log

Давайте возьмем тот же массив объектов из моего поста Часть 1 и поиграем с ним. Итак, альтернативный вариант для console.log — console.table. Он будет отображать объекты в табличном формате в консоли с порядковым номером массива. Проверьте приведенный ниже пример.

Вот вывод приведенного выше кода.

Ограничения:

  1. Он отобразит максимум 1000 записей массива в консоли.
  2. Он не поддерживает (n)-й номер аргумента для отображения на консоли, как мы использовали для console.log. Например. console.log(arg1,arg2,arg3). Console.table поддерживает только один аргумент, но есть альтернатива для отображения нескольких объектов только с одинаковой структурой. Вы можете сделать это так. console.table({обр1,обр2});

Интересно:

  1. Вы можете отсортировать коллекцию в консоли. Звучит интересно, хм..

Совет 2. Array.every

Это очень мощная функция для использования с массивом. Сначала обсудим проблему. Предположим, у нас есть массив, и мы хотим найти, что каждый элемент массива удовлетворяет переданному условию. Давайте рассмотрим пример.

У нас есть массив json, как показано ниже.

Q1. Рейтинг всех элементов выше 3 или нет?

Простое решение для этого, как показано ниже.

tech.every(x => x.rating > 3);

Он проверит каждый элемент внутри массива и вернет true, если он удовлетворяет условию, в противном случае — false.

Вопрос 2. Все ли элементы имеют значение true для параметра isSelected?

Простое решение для этого

tech.every(x => x.isSelected == true);

Совет 3. Array.some

Продолжить решение проблемы...

Q1. Рейтинг какого-либо элемента ниже 4?

Здесь мы не можем использовать Every, потому что в каждой функции будет проверяться весь массив на наличие условия.

Итак, здесь мы можем использовать некоторый метод, который может помочь нам проверить, что если какие-либо элементы массива могут удовлетворить условию, то оно вернет true.

tech.some(x => x.rating < 4);

Вопрос 2. Для какого-либо элемента isSelected задано значение true?

Простое решение для этого

tech.some(x => x.isSelected == true);

Совет 4. Array.flat()

Вы можете использовать метод flat(), если хотите объединить свою подколлекцию массивов с родительским элементом и вернуть новый массив. Давайте разберемся на простом примере.

// simple number array with the nested array
const arr = [1, 2, [3, 4, [5,6,7]]];

Мне нужно вывести что-то вроде этого: [1,2,3,4,5,6,7];

// solution for that
arr.flat(2)

Вывод:

Если вы проверите, что я передал 2 в качестве параметра плоскому методу. Это глубина массива для объединения в окончательный массив. Если я ничего не передам, то будет объединена только самая первая подколлекция.

Вывод без каких-либо параметров:

Надеюсь, вы поняли идею из вывода.

Совет 5. Array.flatMap()

Метод flatMap() представляет собой комбинацию метода map(), за которым следует метод flat() глубины 1. Давайте рассмотрим пример, чтобы понять это. Я использую тот же массив tech из Советов 2.

Q1 Добавить новый объект json в технический массив после объекта Android и вернуть новый массив?

Решение:

Вывод:

Надеюсь, вам понравились советы, и вы будете использовать их в своих повседневных привычках кодирования. Дайте мне знать о ваших взглядах в разделе комментариев. Так что я могу позаботиться об этом в своем следующем блоге для ES6.