1,join----------数组转换为字符串
var arr=[1,2,3];
arr.join("_"); //‘1_2_3"
2,reverse----数组逆序(数组被修改)
var arr=[1,2,3];
arr.reverse(); //[3,2,1]
arr; //[3,2,1]
3,sort---------数组排序(数组被修改)
var arr=[13,25,43,3];
arr.sort(); //[13,25,3,43]
arr.sort(function(a,b){
return a-b;
}); //[3,13,25,43]
4,concat-----数组合并(数组不会被修改)
var arr=[1,2,3];
arr.concat(4,5);//[1,2,3,4,5]
arr; //[1,2,3]
arr.concat([10,11],13); //[1,2,3,10,11,13] 数组别拉平
arr.concat([1,[2,3]]); //[1,2,3,1,[2,3]] 数组不会被拉平两次
5,slice------数组切片(截断获取)(数组不会被修改)第一个变量是index,第二个变量是末尾index+1,即【a,b)。第二个为空为到末尾
var arr=[1,2,3,4,5];
arr.slice(1,3); //[2,3]
arr.slice(1); //[2,3,4,5]
arr.slice(1,-1) //[2,3,4] -1 为5 的index
arr.slice(-4,-3)//[2]
6,splice----数组胶接(截断去除)(数组被修改)第一个变量是index,第二个变量是长度,第二个为空为到末尾
var arr=[1,2,3,4,5];arr.splice(2,2); //[3,4]
arr; //[1,2,5]
var arr=[1,2,3,4,5];
arr.splice(2); //[3,4,5]
var arr=[1,2,3,4,5];
arr.splice(1,1,‘a‘,‘b‘); //替换
arr //[1,‘a‘,‘b‘,3,4,5]
7,从这往下是es5只有ie9以上支持
7,forEach------数组遍历(数组不会被修改)
var arr=[1,2,3,4,5];
arr.forEach(function(x,index,a){
console.log(x + ‘|‘ + index+ ‘|‘ + (a === arr));
});
// 1|0|true
// 2|1|true
// 3|2|true
// 4|3|true
// 5|4|true
8,map--------数组映射(数组不会被修改)
arr.map(function(){
return x+10;
})
9,filter-------数组过滤(数组不会被修改)
arr.filter(x,index){
return index%3 === 0 || x>8;
})
10,every some---数组判断
11,reduce,reduceRight--数组两两处理
var arr= [1,2,3];
var sum =arr.reduce(function(x,y){
console.log(x+"|"+y)
return x+y;
},0) //传入0 作为第一轮x 如果不传则直接是1|2
//0|1
//1|2
//3|3
sum; //6
12,indexOf lastIndexOf --数组索引 第一个参数是要找的元素 第二个元素是搜索开始位置 lastIndexOf是从右往左找
var arr= [1,2,3,2,1];
arr.indexOf(‘2‘) //1
arr.indexOf(‘99‘) //-1
arr.indexOf(1,1) //4
arr.indexOf(1,-3) //4
arr.indexOf(2,-1)//-1
arr.lastIndexOf(2,-2)//3
arr.lastIndexOf(2,-3)//1
13,字符串是类数组元素,没有join等方法
var str = ‘hello world‘
str.charAt(0) //‘h‘
str[1] //‘e‘
Array.prototype.join.call(str,‘_‘); //‘h_e_l_l_o__w_o_r_l_d‘
版权声明:本文为博主原创文章,未经博主允许不得转载。