首页 > 代码库 > JavaScript数组方法对比(深度学习数组)

JavaScript数组方法对比(深度学习数组)

JavaScript数组方法对比


众所周知,JavaScript提供了许多对数组进行改变的方法,但是有些会对原数组进行影响,有些不会。下边就列举出来。

一、新增

影响原数组

array.push()  //向数组的末尾添加一个或更多元素,并返回新的长度。

var array =[1,2,3,4,5];
array.push(6); // [1,2,3,4,5,6];

 

array.unshift() //向数组的开头添加一个或更多元素,并返回新的长度。

var array =[1,2,3,4,5];
array.unshift(6); // [6,1,2,3,4,5];

 

不影响原来数组

array.concat() //连接两个或更多的数组,并返回结果。

var arr1 = [1,2,3,4];
arr1.concat(a,b); // [1,2,3,4,a,b]

 

二、移除

 影响原数组

arry.pop() //删除并返回数组的最后一个元素

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();    // Banana,Orange,Apple

 

arry.shfit() // 删除并返回数组的第一个元素

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift()   // Orange,Apple,Mango

 

arry.splice() //删除元素,并向数组添加新元素。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi");   //Banana,Orange,Lemon,Kiwi,Apple,Mango

 

 不影响原数组

array.filter() //创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

var ages = [32, 33, 16, 40];

function checkAdult(age) {
    return age >= 18;
}

function myFunction() {
    document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}

三、替换

 影响原数组

arry.splice() //删除元素,并向数组添加新元素。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi"); //Banana,Orange,Lemon,Kiwi,Apple,Mango

 不影响原数组

array.map() //方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

var numbers = [4, 9, 16, 25];

function myFunction() {
    x = document.getElementById("demo")
    x.innerHTML = numbers.map(Math.sqrt);
}

 

JavaScript数组方法对比(深度学习数组)