js面试题:说一下数组去重的方法?

    1、双重for循环 + splice

for(var i=0;i  for(var j=i+1;j    if(arr[i]===arr[j]){      arr.splice(j,1)      j--    }  }}

    2、filter + indexOf,返回item第一次出现的位置等于当前的index的元素 【常用】

let newArr = arr.filter((item, index) => arr.indexOf(item) === index);  

    3、filter + Object.hasOwnProperty,利用对象的键名不可重复的特点

let obj = {}arr.filter(item => obj.hasOwnProperty(typeof item + item) ? false : obj[typeof item])

    4、new Set + 扩展运算符 或 Array.from 【常用】

let newArr = [...new Set(arr)];let newArr = Array.from(new Set(arr));

你可能感兴趣的:(面试题合集,javascript,开发语言,ecmascript,前端,vue.js,css)