1. 首页
  2. >
  3. 前端开发
  4. >
  5. Javascript

JavaScript数组常用方法

JavaScript数组常用方法


1、数组去重

function removeRepeat(arr){
var newArr = [];
for(var i = 0; i < arr.length; i++){
if(newArr.indexOf(arr[i])==-1){
newArr.push(arr[i]);
}
}
return newArr;
}

var arr = [1,2,3,4,2,1,4,3,3];
var result = removeRepeat(arr)
console.log(result); // [1, 2, 3, 4]

2、找出数组重复的元素

function findArrRepeat(arr){
var newArr = [];
for(var i = 0; i < arr.length; i++){
if(arr.indexOf(arr[i])!= arr.lastIndexOf(arr[i]) && newArr.indexOf(arr[i]) == -1){
newArr.push(arr[i]);
}
}
return newArr;
}
var arr = [2,3,1,4,2,1,6];
var result = findArrRepeat(arr);
console.log(result); // [2, 1]

3、数组深拷贝(数组中有对象时,slice、concat方法不是深拷贝)

var arr = [
{ title:"x" },
{ title:"y" }
]

var newArr = JSON.parse(JSON.stringify(arr));
newArr[0].title = "xx";
newArr.push({title:"z"}); // 向数组的末尾添加一个对象
console.log(arr) // [{title: "x"},{title: "y"}]
console.log(newArr) // [{title:"xx"},{title:"y"},{title:"z"}]
console.log(arr == newArr) // false

4、清空数组

var arr1 = [6,7,8,9];
arr1 = [];
console.log(arr1); // []
console.log(arr1.length); // 0

var arr2 = [1,2,3,4];
arr2.length = 0;
console.log(arr2); // []
console.log(arr2.length); // 0

var arr3 = [3,4,5,6];
arr3.splice(0,arr3.length)
console.log(arr3); // []
console.log(arr3.length); // 0

5、数组筛选

var arr = [1,4,3,8,10];
var result = arr.filter(function(item,index,arr){
return item > 6;
})
console.log(result); // [8, 10]

6、数组遍历

var arr = ["a","b","d","k","l"];

for(var i = 0; i < arr.length; i++){
console.log(arr[i]); // a,b,d,k,l
}

for(var i in arr){
console.log(arr[i]); // a,b,d,k,l
}

arr.forEach(function(value,index,array){
console.log(value); // a,b,d,k,l
})

for(let i of arr){
console.log(i); // a,b,d,k,l
}