Каков наилучший способ проверить многомерный массив в typescript или javascript для обнаружения повторяющихся значений?

У меня есть двумерный массив, как показано ниже:

  array =  [ [ 1, 1 ], [ 1, 2 ], [ 1, 1 ], [ 2, 3 ] ]

Я хочу сравнить значение в индексе массива, чтобы увидеть, есть ли у них повторяющиеся значения. Например

 array[0] = [1,1];
 array[1] = [1,2];
 array[2] = [1,1];

Мы видим, что значения с индексами 0 и 2 совпадают, то есть [1,1]. Итак, в этом случае я хочу иметь настоящий флаг. Каков наиболее эффективный способ сделать это? или Какие существуют способы сделать это? Любое предложение или помощь было бы здорово с небольшим объяснением. Заранее спасибо.

«Каков наиболее эффективный способ сделать это? Или как это сделать по-разному? Любое предложение или помощь были бы замечательными с небольшим объяснением». -> На какие темы я могу здесь спросить?
Andreas 06.04.2022 10:46
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
41
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Итак, я думаю, что вы можете сделать следующее:

  1. Зациклить каждый элемент многомерного массива.
  2. Затем проверьте, совпадают ли два элемента, обратившись к «строке» с индексом 0 и индексом 1.

Я думаю, вы можете использовать другой способ зацикливания массива, это то, что я пробовал:

// DECLARATIONS
array =  [[ 1, 1 ], [ 1, 2 ], [ 1, 1 ], [ 2, 3 ]];

// LOOPING THE ARRAY 
for (row of array)
{
  // RETURN TO CONSOLE OR WHATEVER THE BOOLEAN VALUE
  console.info(row[0] == row[1]);
}
Ответ принят как подходящий

Вы можете добиться этого, преобразовав элементы внутреннего массива в строку только для целей сравнения.

Демо:

const arr = [[ 1, 1 ], [ 1, 2 ], [ 1, 1 ], [ 2, 3 ]];

const stringConversion = arr.map((item) => JSON.stringify(item))

const duplicateElements = stringConversion.filter((item, index) => stringConversion.indexOf(item) !== index)

console.info(duplicateElements.length ? true : false);

String для преобразования массива в одномерный массив строк и some для проверки дублирования какого-либо элемента:

const arr = [[1, 1], [1, 2], [1, 1], [2, 3]];

const result = arr.map(String).some((v, i, a) => a.indexOf(v) !== i);

console.info(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

Другие вопросы по теме