Методы массива Javascript могут быть немного сложными, особенно если вы имеете дело с глубоко вложенными массивами с объектами и массивами внутри массивов. Мне приходилось много манипулировать данными с массивами и объектами на моей текущей работе, потому что в большинстве случаев структура данных, полученная из серверной части, должна быть распакована, чтобы ее можно было использовать во внешнем интерфейсе.

Наиболее распространенные методы массива, которые я использую, — это метод filter, map и find. Для этого руководства сценарий предоставляет нам 2 массива. Массив строк, который содержит подмножество большей части массива объектов. Нам необходимо преобразовать массив строк в массив объектов со строками, сопоставленными с правильными значениями, полученными из массива объектов.

Я знаю, я знаю, это звучит немного сложно, но это станет яснее, когда я объясню вам это шаг за шагом.

Вот фрагмент кода для реализации этой функциональности.

 const arrayOfObject = [
    { item: "A",value:1 },
    { item: "B",value:2  },
    { item: "C",value:3  },
    { item: "D",value:4  },
    { item: "E",value:5  },
    { item: "F",value:6  },
    { item: "G",value:7  },
    { item: "H",value:8  },
  ];
   const arrayOfString=['G','F','C']
   const newList = arrayOfObject
      ?.filter((item) =>
        arrayOfString?.some((str) => item.item === str)
      )
      .map(({item,value}) => ({item,value}));

Приведенный выше код сначала фильтрует массив объектов, метод filter отображает массив и использует логическое вычисление, которое возвращает true или false, чтобы перебрать массив и найти только те элементы в массиве, которые удовлетворяют условию.

В этом случае вычисление, которое возвращает логическое значение, на самом деле является другим методом массива, называемым «some». Метод массива some перебирает заданный массив и возвращает true, когда находит элемент, для которого предоставленная функция возвращает true. В этом случае метод some перебирает наш массив строк и проверяет, совпадает ли строка с текущим элементом цикла с ключом «item» в массиве объекта, если он возвращает true, он остается в массиве, и если он возвращает false, затем он отфильтровывается из массива.

Последний метод — это метод карты. Метод карты будет перебирать массив, возвращенный методом фильтра, а затем изменять его в зависимости от желаемой структуры. В этом случае мы хотим вернуть массив объектов с ключевым именем элемента, совпадающим с нашей строкой, и другим ключом, называемым значением, которое соответствует соответствующему значению массива объектов.

Вот вам ребята!!! Мы только что использовали 3 метода массива, чтобы перебрать 2 массива и вернуть измененный массив.