Совет 1. Альтернатива Console.log
Давайте возьмем тот же массив объектов из моего поста Часть 1 и поиграем с ним. Итак, альтернативный вариант для console.log — console.table. Он будет отображать объекты в табличном формате в консоли с порядковым номером массива. Проверьте приведенный ниже пример.
Вот вывод приведенного выше кода.
Ограничения:
- Он отобразит максимум 1000 записей массива в консоли.
- Он не поддерживает (n)-й номер аргумента для отображения на консоли, как мы использовали для console.log. Например. console.log(arg1,arg2,arg3). Console.table поддерживает только один аргумент, но есть альтернатива для отображения нескольких объектов только с одинаковой структурой. Вы можете сделать это так. console.table({обр1,обр2});
Интересно:
- Вы можете отсортировать коллекцию в консоли. Звучит интересно, хм..
Совет 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.