文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

ES6新增语法—数组新增七种方法介绍

2024-12-03 00:26

关注

示例:打印数组中的每个元素。

  1. let arr = ['a','b','c']; 
  2. arr.forEach(item=>{ 
  3.  console.log('当前元素',item) 
  4. }) 

上述使用了箭头函数,省略了括号,如果需要数组下标的时候,可以把标加上,改写成:

  1. let arr = ['a','b','c']; 
  2. arr.forEach((item,index)=>{ 
  3.  console.log('当前元素',item) 
  4.  console.log('当前元素下标',index
  5. }) 

如果是给同级的几个元素遍历设置背景颜色时,运行发现失败,代码如下:

  1. window.onload = function(){ 
  2.  let aDiv = document.getElementsByTagName('div'
  3.  aDiv.forEach(item=>{ 
  4.   item.style.background = "red" 
  5.  }) 

运行报错:Uncaught TypeError: aDiv.forEach is not a function at window.onload

报错主要是因为 aDiv 并不是一个真正的数组,它是一个类数组。此时我们需要借助from方法。

from:转换数组

from()方法把类数组转换成真正的数组。

使用语法:Array.from(类数组)

此时我们只需要借助from方法,把aDiv转换成真正的数组,就可以使用forEach遍历,给每个元素设置背景。代码如下:

  1. window.onload = function(){ 
  2.  let aDiv = document.getElementsByTagName('div'
  3.  Array.from(aDiv).forEach(item=>{ 
  4.   item.style.background = "red" 
  5.  }) 

map:映射

原数组被映射成一个新的数组。返回值是一个新数组,不改变原来的数组。

将一组成绩映射成是否及格的布尔值,判断大于60分就算及格,否则就不及格。代码如下:

  1. let grad = [55,66,77,88] 
  2. let arr2 = grad.map(function(item){ 
  3.  return item>=60 
  4. }) 
  5. console.log("arr2",arr2) 

filter:过滤

Filter过滤数组,进去一堆出来几个,返回过滤后的新数组。

比如去掉数组中的偶数,只保留奇数。

  1. let num = [1,2,3,4,5,6,7,8] 
  2. let odd = num.filter(function(item){ 
  3.  return item%2 
  4. }) 
  5. console.log("odd",odd) 

reduce:汇总

进去一堆数据,出来一个。比如求和或者求平均数。

以下是求平均数的一个实例:

  1. let num = [1,2,3,4,5,6,7,8] 
  2. let evr = num.reduce((tmp,item,index)=>{ 
  3.  if( index
  4.   return tmp+item 
  5.  }else
  6.   return (tmp+item)/num.length 
  7.  } 
  8. }) 

上述的tmp是中间的一个结果,最开始是第一个值。

find:查找

在数组中找到符合要求的对象,和filter的区别是找到符合要求的对象就停止搜索了,返回的是一个对象。

查找姓名叫王五的这个人,代码如下:

  1. let pers = [ 
  2.  { name:'倩倩',age:18 }, 
  3.  { name:'张三',age:25 }, 
  4.  { name:'王五',age:60 } 
  5. let per = pers.find(function(item){ 
  6.  return item.name === '王五' 
  7. }) 
  8. console.log('per',per)//per {name"王五", age: 60} 

erver()、some()

every目标数组中每一个对象都符合条件则返回true,否则返回false。

some目标数组中有一个或一个以上符合条件就会返回true,否则返回false。

  1. let pers = [ 
  2.  { name:'倩倩',age:18 }, 
  3.  { name:'张三',age:25 }, 
  4.  { name:'王五',age:60 } 
  5. //年龄是否都小于30 
  6. let isYoung = pers.every(item=>{ 
  7.  return item.age < 30 
  8. }) 
  9. //年龄有小于30的 
  10. let haveYoung = pers.some(item=>{ 
  11.  return item.age < 30 
  12. }) 
  13. console.log("isYoung",isYoung) // false 
  14. console.log("haveYoung",haveYoung) //true 

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯