var arr=['12','32','89','12','12','78','12','32'];
//1 最简单数组去重法
function unique1(array){
var n = []; //一个新的临时数组
for(var i = 0; i < array.length; i++){ //遍历当前数组
if (n.indexOf(array[i]) == -1)
n.push(array[i]);
}
return n;
}
arr=unique1(arr);
// 2速度最快, 占空间最多(空间换时间)
function unique2(array){
var n = {}, r = [], type;
for (var i = 0; i < array.length; i++) {
type = typeof array[i];
if (!n[array[i]]) {
n[array[i]] = [type];
r.push(array[i]);
} else if (n[array[i]].indexOf(type) < 0) {
n[array[i]].push(type);
r.push(array[i]);
}
}
return r;
}
//3数组下标判断法
function unique3(array){
var n = [array[0]]; //结果数组
for(var i = 1; i < array.length; i++) { //从第二项开始遍历
if (array.indexOf(array[i]) == i)
n.push(array[i]);
}
return n;
}
//ES6
function dedupe(array) {
return Array.from(new Set(array)); //Array.from()能把set结构转换为数组
}
var arr=[1,3,4,5,7,89,9,8.8,8.8,6.6,"555","666","555"]
//第一种
arr=[...new Set(arr)];
console.log(arr,"arr")
//第二种
var newArry=dedupe(arr)
console.log(newArry)
2021-04-23 array 数组去重的 办法汇聚
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- “血魔山...” 牧尘喃喃自语,眼中却是有着喜色凝聚起来,总算是知晓一些线索了,不然的话,他可真是要如无头苍蝇般的...
- 要求输入一个数组: 输出:[false, true, undefined, null, NaN, 0, 1, {}...
- 有这么一个网站,心系全球路由表,每周发布各大机构路由发布和汇聚情况。。。 http://www.cidr-repo...