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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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数组方法对比(深度学习数组)的主要内容,如果未能解决你的问题,请参考以下文章

写好循环也不容易--8种遍历方法执行速度深度°对比

JavaScript 数组遍历方法的对比

数组的三种随机排序方法

在javascript中将对象数组复制到另一个数组中(深度复制)

JavaScript数组方法--flatforEachmap

javascript深度理解数组的sort()排序