下面是我认为操作数组的一些比较常用的方法:
1.最常用的一定就是这四兄弟了
push,pop,unshift,shift
//push()方法是将一个或者多个参数添加到数组的尾部,并且改变原数组
var arr = [1,2,3];
var n = arr.push(5,4)
console.log(arr) // 1,2,3,5,4会改变原数组
//unshift()方法是将一个或多个参数添加到原数组的头部,并且改变原数组
var arr = [1,2,3];
var n = arr.unshift(5,4);
console.log(arr); //5,4,1,2,3
//pop()方法从数组的尾部删除一个元素,返回被删除的元素,并且改变原数组
var arr = [1,2,3];
var n = arr.pop();
console.log(n;arr) // 3;1,2
//shift()方法可以从数组的头部删除一个元素,返回被删除的元素,原数组发生改变
var arr = [1,2.3];
var n = arr.shift();
console.log(arr;n); //2,3,1
2.slice(start,end)
如果不传参数,会返回原数组;如果传一个参数,则从传的参数的索引开始截取直到数组结束为止,如果传两个参数从第一个参数对应的索引开始,从第二个参数对应的索引结束[start,end)。该方法不会改变原数组。
var car = ['宝马','奔驰','奥迪'];
var newCar = car.slice(1,2);
console.log(newCar); // ['奔驰']
3.reverse()
颠倒数组中元素的顺序,会改变原数组
var arr = [1,2,3,4,5];
arr.reverse();
console.log(arr) // [5,4,3,2,1];
4.sort()
对于数组进行排序,会改变原数组
var arr = [1,2,3,4,5];
var arr1 = arr.sort((a,b) => {
return a - b //从小到大
return b - a //从大到小
}
)
5.concat()
字符串的方法数组也是可以用的,接收一个或者多个参数,拼接数组
var arr = [1,2,3,4];
arr.concat([5,6,7,8]);
console.log(arr); // [1,2,3,4,5,6,7,8]
6.indexOf()
查找数组中有没有我想要查到的值,有的话返回0,没有的话返回-1
var arr = [1,2,3,4,5];
arr.indexOf(2); //0
arr.indexOf(9); //-1
7.forEach()
数组遍历,且只能遍历数组,不接受返回值
var arr = [1,2,3,4,5];
arr.forEach((item,index,arr) => {
//item 当前的元素
//index 当前元素的索引
//arr 数组名字,一般可以不加
})
8.map()
数组遍历,用来接收一个返回值,创建一个新的数组,不改变原数组
var arr = [1,2,3,4,5,6];
arr.map((item,index,arr) => {
return item * 2
})
//[2,4,6,8,10,12]
9.filter()
过滤出一些符合条件的元素,返回一个新数组
var ages = [16,17,18,19,20];
function checkAdult(age) {
return ages >= 18
//返回数组ages中所有元素都大雨18的元素;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}
//18,19,20
10.some()
检测数组中是否含有某一个值,返回一个布尔值,如果数组中有任意一个元素满足给定的条件,结果就是true,不然就是false
var ages = [3,10,18,20];
function checkAdult(age) {
return age >= 18;
}
function muFunction() {
document.getElementById('demo').innerHTML = ages.some(checkAdult);
}
//true
11.every()
检测数组的所有元素是否都通过检测,都通过返回true,否则返回false,代码和some()类似就是把some换成every这里就不过多赘述了。