Пересечение массивов на основе функции

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом практическом занятии мы будем изучать концепцию пересечения массивов на основе предоставленной функции сравнения на JavaScript. Целью этого практического занятия является обучение вам в использовании Array.prototype.filter() и Array.prototype.findIndex() для нахождения пересекающихся значений между двумя массивами. В конце этого практического занятия вы сможете применить эту технику к своим проектам и улучшить свои навыки программирования на JavaScript.

Как найти пересечение массивов на основе функции с использованием JavaScript

Чтобы найти элементы, которые присутствуют в обоих массивах на основе предоставленной функции сравнения, следуйте этим шагам:

  1. Откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.

  2. Используйте Array.prototype.filter() и Array.prototype.findIndex() в сочетании с предоставленной функцией сравнения, чтобы определить пересекающиеся значения.

    const intersectionWith = (a, b, comp) =>
      a.filter((x) => b.findIndex((y) => comp(x, y)) !== -1);
    
  3. Вызовите функцию intersectionWith() с двумя массивами и функцией сравнения в качестве аргументов.

    intersectionWith(
      [1, 1.2, 1.5, 3, 0],
      [1.9, 3, 0, 3.9],
      (a, b) => Math.round(a) === Math.round(b)
    ); // [1.5, 3, 0]
    

Возвращается массив, содержащий пересекающиеся значения между двумя массивами, на основе предоставленной функции сравнения.

Резюме

Поздравляем! Вы завершили практическое занятие по пересечению массивов на основе функции. Вы можете практиковаться в других заданиях в LabEx, чтобы улучшить свои навыки.