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); }