基于数组的常用方法总结

新建数组:

var arr=new Array();arr[0]=0;arr[1]=1;arr[2]=2;

var arr=[0,1,2];

 

arr.shift();删除该数组的第一项,并返回删除的值,如:

//console.log(arr.shift());是0,此时arr=[1,2]

 

arr.unshift(3,4);把括号里的参数加到该数组的头部,并返回该数组的长度,如:

//console.log(arr.unshift(3,4));是5,此时arr=[3,4,0,1,2]

 

arr.pop();删除该数组的最后一项,并返回删除的值,如:

//console.log(arr.pop());是2,此时arr=[0,1]

 

arr.push(4);将参数加到该数组的尾部,并返回该数组的长度,如:

//console.log(arr.push(4));是4,此时arr=[0,1,2,4]

 

arr1.concat(arr2);拼接数组,不改变原始数组,只是返回拼接后的结果,如:

//console.log(arr.concat([3,4]));是[0,1,2,3,4]

参数可以不是数组,如:

//console.log(arr.concat(3));是[0,1,2,3],console.log(arr.concat(3,5));是[0,1,2,3,5]

 

arr.splice(index,howmany,item1,...,itemX);从index处开始删除howmany个元素,并且从index处添加item1,...,itemX

该方法会改变原始数组

 

reverse:将数组反序,会改变原始数组,如:

//var a=[1,2,3],b=a.reverse();console.log(a,b);是[3,2,1],[3,2,1]

 

arr.slice(start,end);返回原数组从开始下标到结束下标之间的项组成的新数组

包含开始下标项,不包含结束下标项,如:

//var a=[1,2,3,4,5],b=a.slice(1,3);console.log(a,b);是[1,2,3,4,5],[2,3]



arr.join(separator);将数组的元素拼成字符串,以separator为分隔符,默认为逗号,如:

//console.log(arr.join());是"0,1,2",console.log(arr.join('|'));是"0|1|2"

相对的,字符串有spilt(separator,limit)方法,该方法不改变原始字符串,返回数组的元素中不包含separator,limit是返回数组的最大长度

 

jquery针对数组的方法:each()

语法:$("div").each(function(index,element){ }),其中element是DOM对象,也可以在function中使用$(this)

 

原生js针对数组的方法:forEach()

语法:arr.forEach(function(currentValue, index, arr){ }[,thisArg]),其中arr是当前元素所属的数组对象

thisArg是可选的,用于指定function函数中this指向的对象,省略则this指向Window对象

jquery还有$.each(object, function(key, value){ })方法,不只适用于数组,例:

$.each([4,3], function(index, value){console.log(index + ":" + value)}输出结果为 0: 4  1: 3

$.each({name: "Rick", age: 24}, function(key, value){console.log(key + ":" + value)}输出结果为 name: Rick  age: 24

posted @ 2017-03-24 19:56  chuanzhi946  阅读(209)  评论(0)    收藏  举报