【ECMAScript5】ECMAScript5中有关数组的常用方法
2018-01-19 17:22
260 查看
1.indexOf()
此方法返回在改数组中第一个找到的元素位置,如果它不存在则返回-1
2.filter(fn)
此方法创建一个新的匹配过滤条件的数组
3.forEach(fn)
此方法用来替换for循环
4.map()
对数组的每个元素进行一定的操作(映射)后,会返回一个新的数varoldArr=[{first_name:"Colin",last_name:"Toh"},{first_name:"Addy",last_name:"Osmani"}];
5.reduce(callbackfn[,initialValue])
可以实现一个累加器的功能,将数组的每个值(从左到右)将其降低到一个值
应用场景“统计一个数组中不重复单词
参考资料:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/from
https://www.cnblogs.com/leejersey/p/5466091.html
作者:smile.轉角
QQ:493177502
此方法返回在改数组中第一个找到的元素位置,如果它不存在则返回-1
vararr=['apple','orange','pear']; console.log("found:",arr.indexOf("orange")!=-1);//true
2.filter(fn)
此方法创建一个新的匹配过滤条件的数组
vararr=[ {"name":"apple","count":2}, {"name":"orange","count":5}, {"name":"pear","count":3}, {"name":"orange","count":16}, ]; varnewArr=arr.filter(function(item){ returnitem.name==="orange"; }); console.log("Filterresults:",newArr);//[{"name":"orange","count":5},{"name":"orange","count":16}]
3.forEach(fn)
此方法用来替换for循环
arr.forEach(function(item,index){ console.log(item); });
4.map()
对数组的每个元素进行一定的操作(映射)后,会返回一个新的数varoldArr=[{first_name:"Colin",last_name:"Toh"},{first_name:"Addy",last_name:"Osmani"}];
functiongetNewArr(){ returnoldArr.map(function(item,index){ item.full_name=[item.first_name,item.last_name].join(""); returnitem; }); } getNewArr();//[{first_name:"Colin",last_name:"Toh",full_name:"ColinToh"},{first_name:"Addy",last_name:"Osmani"fll_name:'AddyOsmani'}] 项目中常用到的场景: 将数组中的某项以字符串的形式get给后台 varoldArr=[{first_name:"Colin",last_name:"Toh"},{first_name:"Addy",last_name:"Osmani"},{first_name:"Yehuda",last_name:"Katz"}];
oldArr.map(function(item,index){returnitem.first_name;}).join();//"Colin,Addy,Yehuda"
或者
oldArr.map(item=>item.first_name).join();//"Colin,Addy,Yehuda"
5.reduce(callbackfn[,initialValue])
可以实现一个累加器的功能,将数组的每个值(从左到右)将其降低到一个值
应用场景“统计一个数组中不重复单词
之前解决方案:
vararr=["apple","orange","apple","orange","pear","orange"];
functiongetWordCnt(){
varobj={};
for(vari=0,i<arr.length;i++){
varitem=arr[i];
obj[item]=(obj[item]+1)||1;
}
returnobj;
}
console.log(getWordCnt());
//{apple:2,orange:3,pear:1}
使用reduce()
vararr=["apple","orange","apple","orange","pear","orange"];
functiongetWordCnt(){
returnarr.reduce(function(prev,next){
prev[next]=(prev[next]+1)||1;
returnprev;
},{});
}
console.log(getWordCnt());//
参考资料:
作者:smile.轉角
QQ:493177502
相关文章推荐
- JS数组的几个常用方法
- javascript中数组的一些常用方法
- js数组的常用方法
- js数组去重的三种常用方法总结
- js数组常用的扩展方法 如取某个元素然后删除
- JAVA学习笔记21——多维数组+数组常用方法
- Array 数组常用方法
- Android 有关文件路径的常用方法
- OC 可变数组的常用方法NSMutableArray
- js数组去重的三种常用方法总结
- iOS array数组常用的方法
- 编写学习的java几种常用数组的排序方法,给大家分享一下
- [前端] 关于数组的常用方法统计
- NIO中有关Buffer的几种常用方法比如clear,rewind和flip
- 是否改变原数组的常用方法归纳
- js 数组操作常用方法。 push():在数组后面加入元素,并返回数组的长度 unshif()t:在数组前面加入元素,并返回数组的长度 pop()删除最后一个元素
- Javascript数组的常用方法总结二
- 数组的一些常用方法分析 介绍
- JS 数组Array常用方法
- 数组的学习和常用方法总结(2)