方法一 (es6 set方法,简单粗暴)
function unique(arr) {
return Array.from(new Set(arr))
}
console.log(unique([1,3,4,5,6,4,4,23,5,'a','c','a']))
方法二 创建空数组,用indexOf方法检索,没有的话插入新数组中
function unique1(arr) {
let newArr = []
arr.forEach(item => {
if(newArr.indexOf(item) === -1){
newArr.push(item)
}
})
return newArr
}
console.log(unique1([1,3,4,5,6,4,4,23,5,'a','c','a']))
方法三 下标判断,思路跟上面大致相同
function unique2(arr) {
let newArr = []
arr.forEach((item,index) => {
if(arr.indexOf(item) === index){ //如果数组元素的下标的等于 index,存入新的数组
newArr.push(item)
}
})
return newArr
}
console.log(unique2([1,3,4,5,6,4,4,23,5,'a','c','a']))
网友评论