JavaScript的Array类型总结

来源:互联网 发布:淘宝假链接是如何制作 编辑:程序博客网 时间:2024/06/12 00:27

http://blog.csdn.net/bboyjoe/article/details/51502264

1)length属性:通过设置length,可以从数组的末尾移除项或向数组中添加新项。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var colors4=[1,2,3,4];  
  2. colors4.length=3;  
  3. console.log(colors4);//=>[1, 2, 3]  
2)instanceof操作符:可检测对象是否为数组类型。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var colors=['red','blue','green'];  
  2. console.log(colors instanceof Array);//=>true  
3)转换方法:

3.1)toString():会返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var colors1=colors.toString();  
  2. console.log(colors1);//=>red,blue,green  
  3. console.log(colors1 instanceof Array);//=>false  
3.2)valueOf():返回的还是数组。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var colors2=colors.valueOf();  
  2. console.log(colors2);//=>["red", "blue", "green"]  
  3. console.log(colors2 instanceof Array);//=>true  

3.3)join():可以使用不同的分隔符来构建这个字符串。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var colors3=colors.join('||');  
  2. console.log(colors3);//=>red||blue||green  

4)栈方法:

4.1)push():可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var colors5=[];  
  2. var count=colors5.push('red','green');  
  3. console.log(count);//=>2  
4.2)pop():从数组末尾移除最后一项,减少数组的length值,返回移除的项。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var item=colors5.pop();  
  2. console.log(item);//=>green  

5)队列方法

5.1)shift():移除数组中的第一项并返回该项,同时将数组长度减1。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var colors6=['red','blue','green','pink'];  
  2. var item1=colors6.shift();  
  3. console.log(item1);//=>red  
5.2)unshift():在数组前端添加任意个项并返回新数组的长度。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var count1=colors6.unshift('brown','yellow');  
  2. console.log(count1);//=>5  
6)重排序方法

6.1)reverse():反转数组项的顺序。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var values=[1,2,3,4,5];  
  2. values.reverse();  
  3. console.log(values);//=>[5,4,3,2,1]  
6.2)sort():按字符串升序排列数组项。还可以接受一个比较函数作为参数,以便我们指定哪个值位于哪个值的前面。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var values1=[0,1,5,10,15];  
  2. values1.sort();  
  3. console.log(values1);//=>[0,1,10,15,5]  
  4. function compare(value1,value2){  
  5.     if(value1<value2){  
  6.         return -1;  
  7.     }else if(value1>value2){  
  8.         return 1;  
  9.     }else{  
  10.         return 0;  
  11.     }  
  12. }  
  13. values1.sort(compare);  
  14. console.log(values1);//=>[0,1,5,10,15]  
7)操作方法

7.1)concat():基于当前数组中的所有项创建一个新数组。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var colors7=['red','green','blue','pink'];  
  2. var colors8=colors7.concat('yellow',['black','brown']);  
  3. console.log(colors8);//=>["red","green","blue","pink","yellow","black","brown"]  
7.2)slice():能够基于当前数组中的一或多个项创建一个新数组。slice()方法不会影响原始数组。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var colors9=colors7.slice(1);  
  2. console.log(colors9);//=>['green','blue','pink']  
  3. var colors10=colors7.slice(1,3);  
  4. console.log(colors10);//=>['green','blue']  
7.3)splice():主要用途是向数组的中部插入项。
[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var colors11=['red','green','blue','pink'];  
  2. var removed=colors11.splice(1,2);//删除  
  3. console.log(colors11);//=>["red", "pink"]  
  4. console.log(removed);//=>["green", "blue"]  
  5. removed=colors11.splice(1,0,'yellow','orange');//插入  
  6. console.log(colors11);//=>["red", "yellow", "orange", "pink"]  
  7. console.log(removed);//=>[]  
  8. removed=colors11.splice(1,1,'red','purple');//替换  
  9. console.log(colors11);//=>["red", "red", "purple", "orange", "pink"]  
  10. console.log(removed);//=>["yellow"]  
8)位置方法 IE9+

8.1)indexOf()和lastIndexOf():返回要查找的项在数组中的位置,或者在没找到的情况下返回-1。

在比较第一个参数与数组中的每一项时,会使用全等操作符。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var numbers=[1,2,3,4,5,4,3,2,1];  
  2. console.log(numbers.indexOf(4));//=>3  
  3. var person={name:'Jason'};  
  4. var people=[{name:'Jason'}];  
  5. var morePeople=[person];  
  6. console.log(people.indexOf(person));//=>-1  
  7. console.log(morePeople.indexOf(person));//=>0  
9)迭代方法 IE9+

9.1)every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回ture。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var numbers=[1,2,3,4,5,4,3,2,1];  
  2. var everyResult=numbers.every(function(item,index,array){  
  3.     return (item>2);  
  4. });  
  5. console.log(everyResult);//=>false  
9.2)some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var someResult=numbers.some(function(item,index,array){  
  2.     return (item>2);  
  3. });  
  4. console.log(someResult);//=>true  
9.3)filter():对数组中的每一项运行给定函数,返回该函数返回true的项组成的数组。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var filterResult=numbers.filter(function(item,index,array){  
  2.     return (item>2);  
  3. });  
  4. console.log(filterResult);//=>[3, 4, 5, 4, 3]  
9.4)map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var mapResult=numbers.map(function(item,index,array){  
  2.     return item*2;  
  3. });  
  4. console.log(mapResult);//=>[2, 4, 6, 8, 10, 8, 6, 4, 2]  
9.5)forEach():对数组中的每一项运行给定函数。这个方法没有返回值。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var sum=0;  
  2. numbers.forEach(function(item,index,array){  
  3.     sum+=item;  
  4. });  
  5. console.log(sum);//=>25  
10)归并方法:ie9+

10.1)reduce()和reduceRight():迭代数组的所有项,然后构建一个最终返回的值。

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. var values=[1,2,3,4,5];  
  2. var sumRes=values.reduce(function(prev,cur,index,array){  
  3.     return prev+cur;  
  4. });  
  5. console.log(sumRes);//=>15  
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果手机云备份空间不足怎么办 办信用卡不知道公司电话怎么办 办信用卡不知道单位电话怎么办 朋友沉迷网络游戏怎么办英文作文 平板的密码忘了怎么办 白泥面膜过期了怎么办 小米手机桌面短信图标不见了怎么办 亚马逊账号注册扣款不成功怎么办 流量卡不用了怎么办啊 移动卡不想要了怎么办 b站调用速度过快怎么办 苹果系统占用19g怎么办 id被锁定了忘记密码怎么办 360儿童卫士忘记密码怎么办 微信注册忘记密码怎么办 旅行青蛙换手机iphone怎么办 网页邮箱添加不了附件怎么办 pos机密码忘了怎么办 在4楼上课地震了怎么办 微鲸电视待机打不开怎么办 苹果手机微信听不到语音怎么办 电信怎么办腾讯频看电视不要流量 孩子做事效率低怎么办教案 孩子做事效率低怎么办读后感 做事效率低总是焦虑怎么办 红米手机黑屏打不开怎么办 手机萤石云视频下载打不开怎么办 oppo打开网页视频慢怎么办? 晒课显示待提交怎么办 华为手机无法访问移动网络怎么办 晒课上传课堂实录太大怎么办 手机酷狗音乐下载要钱怎么办 手机酷狗下载要钱怎么办 酷我音乐没有声音怎么办 手机酷我音乐没有声音怎么办 酷我音乐歌曲下载收费怎么办 网易云下载超过每日上限怎么办 全民k歌领不了花怎么办 安卓全民k歌延迟怎么办 全民k歌唱歌延迟怎么办 全民k歌耳机延迟怎么办