本文转载至http://niewj.iteye.com/blog/2100515
a=[2,4,5,6,7,90];
【1】. a.toString(); // 返回字符串表示的数组,逗号分隔
- "2,4,5,6,7,90"
【2】. a.join('||'); // 返回一个字符串,用指定的字符分割
- "2||4||5||6||7||90"
【3】. a.push(33); // 栈尾压入一个元素
- [2,4,5,6,7,90,33]
【4】. a.pop(); // ,33栈尾移出一个元素
- [2,4,5,6,7,90]
【5】. a.shift(); // 2,从队列首部移出一个元素
- [4,5,6,7,90]
【6】. a.unshift(28); // 从队首插入一个元素,后面的顺移
- [28,4,5,6,7,90]
- a.unshift(36);
- [28,4,5,6,7,90,36]
【7】. a.reverse(); // 数组冲排序,反转顺序
- [36,90,7,6,5,4,28]
【8】. a.sort(); // 数组自然排序
- [28,36,4,5,6,7,90]
【9】. 自定义排序方法,传入sort参数:
- function compare(v1,v2){if(v1>v2){return 1}else if(v1<v2){return -1}else{return 0}}
- //a=[4,5,6,7,28,36,90]
(1). concat(element[|other array]) //联接数组
- colors.concat('yellow') // 1.联接元素
- >>>["red", "green", "black", "blue", "yellow"]
- colors.concat(['#aaa','#bbb','#ccc']) // 2.联接数组
- >>>["red", "green", "black", "blue", "#aaa", "#bbb", "#ccc"]
colors本身不变。
(2). slice(startIndex,endIndex) //切片
- colors=colors.concat(['#aaa','#bbb','#ccc'])
- colors
- >>>["red", "green", "black", "blue", "#aaa", "#bbb", "#ccc"]
- colors.slice(2,3) //从第二个元素开始,到第三个元素为止,切片
- >>>["black"]
- colors.slice(2) // 从第二个元素开始,到末尾。
- ["black", "blue", "#aaa", "#bbb", "#ccc"]
(3). splice(startIndex,delNums[,replacedElements]) // 强大的数组增、删、改
- colors
- >>>["red", "green", "black", "blue", "#aaa", "#bbb", "#ccc"]
- colors.splice(2,1) //从第2索引开始,删除1个。
- colors
- >>>["red", "green", "blue", "#aaa", "#bbb", "#ccc"]
- colors.splice(2) //从第2索引开始,删除到完。
- colors
- >>>["red", "green"]
- colors=["red", "green", "blue", "#aaa", "#bbb", "#ccc"]
- colors.splice(1,2,'橘色','瓜皮色','古铜色') // 从索引1删除2个,然后插入给定的3个元素。
- colors
- >>>["red", "橘色", "瓜皮色", "古铜色", "#aaa", "#bbb", "#ccc"]
(1). every(func(e,idx,arr)) // 对数组每一项都执行func,所有都返回true,结果才返回true,否则false;
- colors.every(function(e,i,arr){
- if(e.length>0){
- alert(e.length)
- return 1;
- }else{
- alert('Blank String');
- return 0;
- }
- });
- >>>false;
(2). some(func(e,idx,arr)) // 对数组每一项都执行func,某一个返回true,结果就返回true;
所有都返回false, 结果才是false;
- a=2;
- colors.some(function(e,i,arr){
- a=a+1;
- if(e.length>0){
- alert("Have one Not Empty")
- return 1;
- }else{
- alert('Blank String');
- return 0;
- }
- });
- a
- >>>a=3
- //可见function只执行了一次,返回true就不执行了。
(3). filter(func(e,idx,arr)) // 对数组中每个元素执行func,返回其中为true的元素。
- <span style="font-size: 12px; line-height: 1.5;">colors
- >>>["red", "橘色", "瓜皮色", "古铜色", "#aaa", "#bbb", "#ccc", ""]
- filtered_colors = colors.filter(function(e,i,arr){
- a=a+1;
- if(e.length>0){
- alert("Have one Not Empty")
- return 1;
- }else{
- alert('Blank String');
- return 0;
- }
- });
- </span><span style="line-height: 18px;">filtered_colors</span><span style="font-size: 12px; line-height: 1.5;">
- >>>["red", "橘色", "瓜皮色", "古铜色", "#aaa", "#bbb", "#ccc"]
- //a=10</span>
(4). forEach(func(e,idx,arr)) // 对数组中的每一个元素执行指定函数func,无返回值。
- colors.forEach(function(e,i,arr){
- alert('元素:' + e + ',索引:' + i + ';数组是:【' + arr + '】');
- });
(5). map(func(e,idx,arr)) // 对数组每个元素执行指定函数func,返回结果是一个数组,其中的元素是每个元素执行func函数时调用的返回值。
- arr = colors.map(function(e,i,arr){
- return e + '@' + i + '@' + e.length;
- });
- arr
- >>>["red@0@3", "橘色@1@2", "瓜皮色@2@3", "古铜色@3@3", "#aaa@4@4", "#bbb@5@4", "#ccc@6@4", "@7@0"]