javascript - 如何消除 JavaScript 中的重复元素(包括自身)?
问题描述
这是示例。
输入:
var nums = [2, 2, 2, 3, 3, 4, 5, 5, 5, 6]
我想要输出 = [4,6]。
我是菜鸟,我尝试使用另一个数组来deposit[4,6]
,但我已经尽力了:
var nums = [2, 2, 2, 3, 3, 4, 5, 5, 5, 6],
temp = [],
index = -1;
for (var i = 0; i < nums.length; i++) {
target = nums[i];
for (var j = i + 1; j < nums.length; j++) {
if (target == nums[j]) {
target = nums[i + 1];
break;
}
else {
index++;
temp[index] = nums[i];
}
}
console.log(temp[index]);
}
不知道。
我知道如何消除重复元素(没有自己)。
解决方案
在已排序的数组上,可以过滤掉所有元素 wo 等于它们之前或之后的项目:
const result = nums.filter((it, i) =>
(!i || it !== nums[i - 1]) &&
(i + 1 === nums.length || it !== nums[i + 1])
);
推荐阅读
- javascript - 如何使用 Typescript 通过类型而不是接口对对象进行建模?
- python - python - 如何用python中的逗号替换列表中文本之间的空格?
- python - 如何在 python popen 中输出 Linux 命令
- alert - 创建警报时获取对象的空值
- javascript - burgerLines.map 不是函数
- python - 如何获取烧瓶中文件的类型?
- java - Java中的渗透-使用的数据结构
- flutter - Flutter:我应该如何使用 InheritedWidget?
- python - 在 python 中通过 Elastic Search 搜索唯一值
- flutter - Flutter:在应用程序退出时执行操作