1 join():把数组中的所有元素放入一个字符串,元素是通过指定的分隔符进行分隔的, 若省略了分隔符参数,则使用逗号作为分隔符。
var arr = [1,2,3];
console.log(arr.join()); // 1,2,3
console.log(arr.join("|")); // 1|2|3
2.concat():数组的合并,合并后会返回一个新数组
var arr2=arr.concat(arr1); //合并两个数组,原来的两个数组不会变化,写在前面的数组,合并后也在前面
var arr3=arr.concat(0,-1,-2); // 数组除了可以合并数组,也可以合并元素,将多个元素与原数组合并,返回新数组
var arr4=arr.concat(0,arr1,["A","B"]); // concat既可以合并元素,也可以合并数组
var arr5=arr.concat(); // 如果直接使用concat,就可以完成数组的复制功能
3 push():向数组的末尾添加一个或多个元素,并返回新的数组长度
arr.push(6); //在数组的尾部插入一个新元素
arr.push(6,7,8); //在数组的尾部插入多个新元素
4.pop():用于删除数组的最后一个元素,把数组长度减1,并返回被删除元素
arr.length--; // 等同 速度更快,但是不会返回被删除的元素
arr.pop(); // 速度慢,但是会返回被删除的元素
5.unshift():在数组头部添加一个或者多个元素,并且返回数组的新长度
arr.unshift(0); //在数组的头部插入一个新元素
arr.unshift(-3,-2,-1,0); //在数组的头部插入多个新元素
6.shift():删除数组的第一个元素,并且返回被删除的元素
arr.shift();//将数组的第一个元素删除
7 slice(start,end): 按指定位置截取复制数组的内容,返回新数组,不会改变原数组.从下标start开始,截取到end,包括start但不包括end.第二个参数不写,默认截取到尾部,只能从前向后截取
var arr1=arr.slice(1,4); // 从第1位开始截取到第4位之前
var arr1=arr.slice(); // 复制数组arr
var arr1=arr.slice(0); // 复制数组
var arr1=arr.slice(3); //从第三位截取到尾部复制
var arr1=arr.slice(-2); //从倒数第二位开始截取到尾部
var arr1=arr.slice(-3,-1); //从倒数第三位到倒数第一位
8.indexOf(要查询得元素,从什么位置开始查询): 在数组中查找元素,找到返回元素下标,找不到返回-1,查询到第一个后,就返回下标不再继续查询
var index=arr.indexOf(4); // 在数组中查找元素4,如果查找到,返回该元素所在的下标,如果没有查找到,则返回-1
9.lastIndexOf(查找得元素,从什么位置开始查找):类似于indexOf,只是从后向前查找。
var arr=[1,3,1,2,3,5,2,3,4,6];
var index=arr.lastIndexOf(3);
console.log(index); // 打印下标 7
10.forEach():对数组进行遍历循环,对数组中的每一项运行给定函数。这个方法没有返回值。
arr.forEach(function(数组中的元素,每个元素对应的下标,数组自身){ })
11.map():对数组进行遍历循环,对数组中的每一项运行给定函数。map 有返回值,与原数组等长的新数组,元素内容由return确定,不写return返回undefined.
12. sort():按升序排列数组项, 在排序时,sort()方法将数组每一项用 toString()转为字符,然后比较得到的字符串,以确定如何排序。这样在做数值型排序时就只能比较个位数的值。 为了解决这个问题,使用
arr.sort(function(后一项,前一项){})
arr.sort(function(a,b){
return a-b; // 从小到大
return b-a; // 从大到小
})
13.some():判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。遍历数组,如果有一个满足条件的元素,都会直接返回true,不继续向后遍历
var arr=[1,4,6,2,7,9,0];
var bool=arr.some(function(item,index,arr){
// 遍历数组,是否存在大于5的元素
return item>5;
});
console.log(bool);
14.every():判断数组中是否每一个都满足条件,如果有一个不满足条件,直接跳出,所有都满足时返回为ture
var bool=arr.every(function(item,index,arr){
// 判断数组中 是否所有的元素都大于2
return item>2;
});
console.log(bool);
15.filter():数组中的每一项运行给定函数,返回满足过滤条件组成的数组。
var arr=[1,3,4,7,3,5,8,9];
var arr1=arr.filter(function(item,index,arr){
return item>5;
});
console.log(arr1);
16.reduce():迭代数组的所有项,然后返回一个最终值。
数组.reduce(回调函数(累积值,元素,下标,数组){},初始值)
如果reduce没有设置初始值,累计值是数组的第0位元素,遍历从下标1开始
如果reduce设置了初始值,累积值就是从这个初始值开始,遍历从下标0开始
17.splice():向数组中添加,或从数组删除,或替换数组中的元素,然后返回被删除/替换的元素