Как проверить массив на наличие дублей
Материал из Поле цифровой дидактики
| Описание | Как проверить массив на наличие дублей? |
|---|---|
| Область знаний | Информатика |
| Область использования (ISTE) | Computational Thinker |
| Возрастная категория | 10
|
| Поясняющее видео | |
| Близкие рецепту понятия | Сортировка |
| Среды и средства для приготовления рецепта: | Snap!, JavaScript |
Вариант 1 - вложенный цикл
const hasDuplicates = function (num) {
//loop the list, our O(n) op
for (let i = 0; i < nums.length; i++) {
const thisNum = nums[i];
//loop the list again, the O(n^2) op
for (let j = 0; j < nums.length; j++) {
//make sure we're not checking same number
if (j !== i) {
const otherNum = nums[j];
//if there's an equal value, return
if (otherNum === thisNum) return true;
}
}
}
return false;
}
const nums = [1, 2, 3, 4, 5, 5];
hasDuplicates(nums);//true
Вариант 2 - бинарный поиск
const nums = [1, 2, 3, 4, 5];
const searchFor = function (items, num) {
}
const hasDuplicates = function (nums) {
for (let num of nums) {
if (searchFor(nums, num)) {
return true;
}
}
return false;
}
