JavaScript(es6)数组常用的方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript(es6)数组常用的方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2966字,纯文字阅读大概需要5分钟。
内容图文
常用方法
1.forEach()
var data = [1,2,3,4,5]; var sum = 0;
//求和 data.forEach((item)=>{sum+=item}) //给原数组的每个值加1 data.forEach((value,index,data)=>{data[index] = value + 1})
2.concat() //合并多个数组,返回合并后的新数组,原数组没有变化。
const array = [1,2].concat([‘a‘, ‘b‘], [‘name‘]); // [1, 2, "a", "b", "name"]
3.filter() //返回一个新数组,包含通过callback函数测试的所有元素。
var fil = [5,4,3,2,1]; smallvalues = fil.filter((x)=>{return x < 3}); console.log(smallvalues)//小于3 oddNumber = fil.filter((x,i) => x % 2 === 0);//偶数
4.map() //返回新数组
var a = [1,2,3], b; b = a.map((x)=>{return x*3}); console.log(a,b)
5.every()和some() //every()和some()方法是数组的逻辑判定
var ever = [1,2,3,4,5]; var xiaoyushi = ever.every((x)=>{return x < 10})//返回true,所有的值都小于10 var evenNumber = ever.every((x)=> x % 2 === 0)//返回false,不是所有的值都是偶数 var shifouyousi = ever.some((x)=> x==4)//数组里面有一个值等于4则返回true
6.reduce()和reduceRight
//reduce为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值) var arr = [1,2,3,4]; var qiuhe = arr.reduce((prev, cur, index, arr)=>{ //prev:上一次调用回调返回的值,或者是提供的初始值(initialValue); cur:数组中当前被处理的元素 console.log(prev, cur, index); return prev + cur; }) //实例解析initialValue参数 var arr1 = [1,2,3,4]; var qiuhe2 = arr1.reduce((prev,cur,index,arr)=>{ console.log(prev,cur,index); return prev + cur; },0)//这里设置了初始值 console.log(arr1, qiuhe2); //结论: 如果没有initialValue,reduce会从索引1的地方开始执行callback方法,跳过第一个索引。如果提供initialValue,从索引0开始。 /*var arr2 = []; var qiuhe3 = arr2.reduce((prev, cur, index, arr)=>{//报错,不能处理空数组 console.log(prev, cur, index); return prev + cur; })*/ var arr3 = []; var qiuhe4 = arr3.reduce((prev, cur, index, arr)=>{//不会报错,因为设置了初始值 console.log(prev, cur, index); return prev + cur; },0) console.log(arr3,qiuhe4) //reduce的简单用法(求和,求乘积) var arr4 = [1,2,3,4,5,6,7,8,9,10]; var qiuhe5 = arr4.reduce((x,y)=>{return x + y}) var mul = arr4.reduce((x,y)=>{return x * y}) var max = arr4.reduce((x,y)=>{return (x>y)?x:y})//求最大值 //reduce的高级用法 //1.计算数组中每个元素出现的次数 let names = [‘alice‘,‘bob‘,‘tiff‘,‘bruce‘,‘alice‘]; let nameNum = names.reduce((pre, cur)=>{ if(cur in pre){ pre[cur]++ }else{ pre[cur] = 1 } return pre },{}) console.log(nameNum) //2.数组去重 let arr5 = [1,2,3,4,4,3,5]; let newArr = arr5.reduce((pre, cur)=>{ if(!pre.includes(cur)){ return pre.concat(cur) }else{ return pre } },[]) console.log(newArr) //3.将二维数组转化为一维数组 let arr6 = [[0,1],[2,3],[4,5]]; let newArr2 = arr6.reduce((pre,cur)=>{ return pre.concat(cur) },[]) console.log(newArr2); //4.将多维数组转化为一维数组 let arr7 = [[0,1],[2,3],[4,[5,6,7]]] const newArr3 = function(arr){ return arr.reduce((pre,cur)=>{ return pre.concat(Array.isArray(cur)? newArr3(cur): cur) },[]) } console.log(newArr3(arr7)); //5.对象里的属性求和 var result = [ { subject: ‘math‘, score: 10 }, { subject: ‘chinese‘, score: 20 }, { subject: ‘english‘, score: 30 } ]; var qiuhe6 = result.reduce((prev,cur)=>{ return cur.score + prev },0) console.log(qiuhe6)
原文:https://www.cnblogs.com/fuzhengyi/p/10600555.html
内容总结
以上是互联网集市为您收集整理的JavaScript(es6)数组常用的方法全部内容,希望文章能够帮你解决JavaScript(es6)数组常用的方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。