// ES6 new set方法结合Array from数组去重
var arr = [12,23,45,23,23,12,36]
var arr1 = Array.from(new Set(arr));
// var str = Math.max(...arr1)
console.log(arr1);
// 利用for循环嵌套,数组方法splice去重
var arr2 = new Array(...arr);
for(let i = 0 ; i < arr2.length;i++){
for(let j = i+1;j <= arr2.length;j++){
if(arr2[j]==arr2[i]){
arr2.splice(j,1)
j--
}
}
}
console.log(arr2)
// 利用indexOf方法去重
var arr3 = new Array();
for(let i = 0; i < arr.length;i++){
if(arr3.indexOf(arr[i])===-1){
arr3.push(arr[i])
}
}
console.log(arr3)
// 利用includes方法去重
var arr4 = new Array();
for(let i = 0 ;i <arr.length;i++){
if(!arr4.includes(arr[i])){
arr4.push(arr[i]);
}
}
console.log(arr4)
// 利用ES5 filter(过滤)方法去重
// var arr5 = new Array(...arr);
var arr5 = arr.filter(function(item,index,arr){
return arr.indexOf(item,0) == index;
})
console.log(arr5)
拓展
判断是否为数组
function isArray(arr){
if(typeof arr == 'object'){
return Object.prototype.toString.call(arr) == '[object Array]'
// console.log(Object.prototype.toString.call(arr))
}else{
return false;
}
}
console.log(isArray(arr))
判断是否为对象
function isObject(object){
if(typeof(data) === 'object' && data.constructor === Object && data !== null){
return true;
}else{
return false;
}