javascript - 生成阵列的无重复版本
问题描述
生成阵列的无重复版本。函数应该处理使用排序数组的迭代器。所以我可以做第一部分,但不明白我什至会如何使用 isSorted 或迭代器。
_.uniq = function(array, isSorted, iterator) {
var unique = [];
for (var i = 0; i < array.length; i++) {
var ele = array[i];
if (unique.indexOf(ele) === -1) {
unique.push(ele);
}
}
return unique;
};
解决方案
如果您乐于创建一个未排序且可以忽略 IE11 的新数组,这是一种简单而优雅的方式。
let fruits = ['pear','apple','banana','orange','apple','mango','banana','pear'];
//https://www.codementor.io/tips/8243973127/how-to-remove-duplicates-within-a-javascript-array-using-es6-in-just-one-line
//Array.from & new Set not supported in IE11, MDN has details.
let fruits_without_duplicates = Array.from(new Set(fruits));
console.log(fruits_without_duplicates); //["apple", "banana", "orange", "mango"]
推荐阅读
- docker - 操作系统与 docker 镜像有什么关系?
- angular - Angular 9:找不到命名空间“FullCalendarVDom”?
- javascript - 我在 ajax 中的 XMLHttpRequest 在 Chrome 中不起作用
- node.js - 如何在 Azure Web App 上安装纤程包
- python - 如何修复 PytestAssertRewriteWarning?
- python - 使用特征值对 3D 特征向量数组进行排序
- webmail - Roundcube 设置文件的位置
- java - 谁能告诉我为什么在使用长数据类型时会出错
- spring-mvc - Zuul PredecorationFilter X-Forwarded-Prefix 标头导致 Spring ForwardedHeaderFilter 中的路径重复
- grafana - 如何通过 Grafana 开源百万行限制