Js数组去重复
单数据数组去重
let nums = [1, 2, 3, 4,5, 6,9 ,7 , 7, 8, 8]
let newNums1 = [...new Set(nums)]
console.log(newNums1);
let newNums2 = nums.map(item => {
return nums.indexOf(item) > -1? null : item
})
console.log(newNums2);
function uniqueNums3(nums){
if(!Array.isArray(nums)) return
let result = []
for(let i =0; i< nums.length; i++) {
if(result.indexOf(nums[i])<0){
result.push(nums[i])
}
}
return result
}
const res3 = uniqueNums3(nums)
console.log(res3);
function uniqueNums4(nums){
if(!Array.isArray(nums))return
for(let i=0; i< nums.length; i++) {
for(let j =i+1; j<nums.length; j++) {
if(nums[i] === nums[j]) {
nums.splice(j,1)
}
}
}
return nums
}
const res4 = uniqueNums4(nums)
console.log(res4);
function uniqueNums5(nums) {
if(!Array.isArray(nums)) return
nums = nums.sort((a,b) => a -b)
for(let i=0; i< nums.length; i++) {
if(nums[i] === nums[i+1]) {
nums.splice(i, 1)
}
}
return nums
}
const res5 = uniqueNums5(nums)
console.log('res5',res5);
function uniqueNums6(nums){
if(!Array.isArray(nums)) return
let result = []
for(let i =0; i< nums.length; i++) {
if(!result.includes( nums[i])){
result.push(nums[i])
}
}
return result
}
const res6 = uniqueNums6(nums)
console.log('res6', res6);
function uniqueNums7(nums) {
if(!Array.isArray(nums)) return
return nums.filter((item, index, arr) => {
return arr.indexOf(item,0) === index
})
}
const res7 = uniqueNums7(nums)
console.log('res7', res7);
Js数组去重的方式还不止这几种, 后续遇见继续补充.