#89 数组去重
-
0
@湛瞳 转换为数组
-
0
ES5写法
const unique = (arr) => { let obj = {},ret = []; for(let i = 0 ;i<arr.length;i++){ let key = arr[i] + (typeof arr[i]); if(!obj[key]){ obj[key] = true; ret.push(arr[i]) } } return ret; }
-
0
@崂山盗汗 下面那种方法好像没法区分1和"1"
-
0
const unique = (arr) => /TODO/
{
let result=[];
arr.forEach(v=>{
result.indexOf(v)>-1||result.push(v)
})
return result
}
-
0
const unique = (arr) => /TODO/
{
return [... new Set(arr)]
}
-
0
亚麻跌, 新特性不要太好用了, 我还傻傻写下面这种
const unique = (arr) => { return arr.reduce((result, item) => !result.includes(item) ? result.concat(item):result, []) }
[搬运] 新特性的写法
const unique = (arr) => Array.from(new Set(arr))
或者
const unique = (arr) => [...new Set(arr)]
-
0
@湛瞳 new Set 生成的是 Set 对象(类数组)
-
0
@湛瞳 把set转成数组
-
0
来个有意思的
const unique = (arr) => { return arr.filter((item, index) => { return arr.indexOf(item) === index; }); }
-
0
要是有的元素是数组咋办?
console.log(new Set([1], [1])) // Set { 1 }
-
0
const unique = (arr) => /TODO/{
let obj = {},
a = [];
arr.forEach(item=>{
let type = typeof item
if(!obj[type+item]){
a.push(item)
obj[type+item] = true
}
})
return a
}