const array = [2,5,6,7,5,2,6];
// Цикл базовых значений
for(let i = 0; i < array.length; i++) {
let flag = false; // Признак повторного значения
let v = array[i]; // Текущее значение
// Цикл поиска повторений
for(let j = i + 1; j < array.length; j++) {
if (v === array[j]) { // Если нашли повтор, то
array.splice(j, 1); // Удаляем повторяющиеся элементы в массиве
flag = true;
}
}
if (flag) { // Был повтор
array.splice(i, 1); // Удаляем сам элемент, если у него были повторения
i = -1; // начинаем цикл [i] сначала
}
}
console.log(array); // [7]
我会这样做:
UPD
这是一个更简洁,但(很可能)效率较低的选择
再更新一次
最简洁的选择
这样的任务显然不需要循环中的循环,更多的元素和立即的缓慢将是显而易见的。任务很简单——找到重复的
算法:
“单行”选项:
像这样的东西:
好吧,既然这样的酒已经消失了,那么我将添加我自己的版本
filter
(顺便说一句,非常简短):PS:我个人喜欢@HaZcker的最后一个答案。