ES6
var arr = [1,6,6,8,9,5,4,1,3]
console.log(arr);
function sets(arr){
return Array.from(new Set(arr))
}
console.log(sets(arr));
splice
splice() 方法会直接对数组进行修改。
array.splice(要操作的位置,删除的数量,向数组添加的新项目)
var arr = [1,6,6,8,9,5,4,1,3]
function splice(arr){
for(let i=0;i<arr.length;i++){ //循环取到第i个
for(let j=i+1;j<arr.length;j++){ //循环取到i+1个
if(arr[i]==arr[j]){ //相等
arr.splice(j,1) //删除i+1位置的一个元素
}
}
}
return arr //返回数组
}
console.log(splice(arr));
indexOf
默认从头检索数组
array.indexOf(search) 找到search返回第一次出现的位置,没有则返回-1
var arr = [1,6,6,8,9,5,4,1,3]
function indexof(arr){
var array=[] //定义一个新数组
for(let i=0;i<arr.length;i++){ //循环数组
//检索新数组中是不是有旧数组第i位的元素,没有则添加到新数组
if(array.indexOf(arr[i])===-1){
array.push(arr[i])
}
}
return array
}
console.log(indexof(arr));
sort
var arr2 = [2,9,2,1,4,6,3,5,4,5,1,2,4,2]
console.log(arr2);
function sortt(arr2){
arr2 = arr2.sort()//按照字符编码对就数组排序排序
// console.log(arr2);
var array2 = [arr2[0]]
for(let i=1;i<arr2.length;i++){
//如果旧数组的第i位与前一位不相等,就把第i位天机道新数组
if(arr2[i]!==arr2[i-1]){
array2.push(arr2[i])
}
}
return array2
}
console.log(sortt(arr2));
includes
var arr3 = [2,9,2,1,4,6,3,5,4,5,1,2,4,2]
function includess(arr3){
var array3=[]
for(let i=0;i<arr3.length;i++){ //循环旧数组
if(!array3.includes(arr3[i])){ //新数组不包含旧数组的i位,添加到新数组
array3.push(arr3[i])
}
}
return array3
}
console.log(includess(arr3));
filter
var arr3 = [2,9,2,1,4,6,3,5,4,5,1,2,4,2]
console.log(arr3);
function fil(arr3){
return arr3.filter(function(item,index,arr3){
// 当前元素,原始数组的第一个索引值===当前索引,否则返回当前元素
return arr3.indexOf(item)===index
})
}
console.log(fil(arr3));