es6中数组的新方法,es6数组新增的特性

  es6中数组的新方法,es6数组新增的特性

  本文给大家带来了一些关于javascript的知识,主要介绍了es6数组添加方法的相关问题,包括迭代方法和合并方法。来看看吧,希望对你有帮助。

  【相关推荐:javascript视频教程,web前端】

  

迭代方法:

   ECMAScript为数组定义了5种迭代方法。每个方法接收两个参数:一个带每个参数运行的函数,一个可选的scope对象(它影响函数中this的值)作为函数的运行上下文。传递给每个方法的函数接收3个参数:数组元素、元素索引和数组本身。根据具体的方法,这个函数的执行结果可能会也可能不会影响方法的返回值。数组的五种迭代方法如下。

  一、map方法:对数组的每一项运行传入的函数,返回每个函数调用结果组成的数组。

  也可以理解为:对数组中的每个元素进行特殊处理后,返回一个新的数组。

  例如:价格数组

  简化前:

  让价格=[50,80,90]

  prices=prices.map((item,index)={

  项目“元”

  })

  console.log(价格)缩写后:

  设价格=[50,80,120]

  //在单价后加上“元”

  Price=price.map(item=item 元)

  Console.log(price)//输出为[50元, 80元, 90元]。它的应用场景,比如:微信小程序的豆瓣影评

  使用映射方法将xxx替换为www

  replace()方法用于将字符串中的某些字符替换为其他字符,或者替换与正则表达式匹配的子字符串。

  Let movies=[{id:1,name:肖申克的救赎,imgur: http://xxx.douban.com/1.jpg}, { ID:2,name:肖申克的救赎,imgur: 3358xxx.douban.com/2.jpg}.

  movies=movies.map(item={

  item . imgurl=item . imgurl . replace( XXX , www )

  退货项目

  })

  对数组中的每一项运行传入的函数。函数返回true的项将组成一个数组,然后返回。

  也可以理解为过滤掉数组中满足要求的元素,返回一个新的数组。

  让分数=[80,59,10,55,90,88]

  让arr=scores.filter(item={

  如果(第60项){

  返回true

  }

  })

  Console.log(arr)//输出如下:输出如下:过滤掉小于60的数组。

  速记后:

  让分数=[80,59,10,55,90,88]

  让arr=scores.filter(item=item=60)

  Console.log (arr)//(3) [80,90,88]它的应用场景,可以放一个城市名称的数组,然后搜索关键词,只针对小数据。我将在示例后面展示一个图书馆管理系统的应用场景,其中将包括关键字搜索,供您参考。

  

  

三和四、some和every方法

  有些英文翻译是some,每个翻译都是all,each,所以some方法只要其中一个为真就会返回true。相反,every()方法只有全部返回true才会返回true,即使有false也会返回false。

  在判断数组的过程中,判断整体的所有元素是否满足一个基本要求。

  某法:真与真,只要有匹配就返回,真。

  每一个方法:一个假就是假,只要有一个不符合要求就退回,假。

  //让一个班所有学生的成绩看大家是否都过了。

  让分数=[80,49,12,50,69]

  让result=scores . every(item=item=60)

  Console.log(result)//返回false。他们并非都通过了考试。使用场景:前端检查器

  在提交AJAX请求之前,通常需要在发送之前通过所有的验证。一个单独的前端数据验证器将在后续的代码示例文章中找到。

  

归并方法:

  二、filter方法:ECMAScript为数组提供了两种合并方法:reduce()和reduceRight()。这两种方法都将迭代数组的所有项,并在此基础上构建最终返回值。reduce()方法从数组中的第一项迭代到最后一项。而reduceRight()从最后一项遍历到第一项。也可以简单理解为:整合一个数组中的元素,返回一个新的内容。

  这两种方法都接收两个参数:将为每个项目运行的合并函数,以及将作为合并起点的可选初始值。传递给reduce()和reduceRight()的函数接收四个参数:最后一个合并值、当前项、当前项的索引和数组本身。此函数返回的任何值都将被用作下一次调用同一函数的第一个参数。如果可选的第二个参数(作为merge的起始值)没有传递给这两个方法,那么第一次迭代将从数组的第二项开始,所以传递给merge函数的第一个参数是数组的第一项,第二个参数是数组的第二项。

  首先通过下面的代码来理解这个概念:

  以下代码中四个参数的含义:

  Prev:最后一次操作返回的结果。

  项目:此操作的要素。

  Index:该操作元素的索引值。

  数组:当前操作的数组

  让arr=[20,40,50,21]

  let values=arr.reduce((prev,item,index,array)={

  console.log(prev prev)

  console.log(item 项目)

  console.log(index 索引)

  console.log(array 数组)

  console . log( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )

  })五、reduce方法:

  为什么只循环了三次?Prev因为可以设置默认值,如果不设置默认值,第一个元素将是第一个prev。

  为什么prev在第二和第三个循环中没有定义?在第二个循环中,你要得到第一个循环的返回值。因为在第一个循环中没有设置return,所以会得到未定义的值,依此类推。

  输出为:

  让arr=[20,40,50,21]

  let values=arr.reduce((prev,item,index,array)={

  console.log(prev prev)

  返回上一项

  //进行四次返回循环。第一个输出是prev 20,第二个输出是40 20 60,第三个输出是110。最后的输出是131

  })

  console . log(values)//131 prev的默认值什么时候必须设置?

  给每个数组元素加上li /li。

  Let arr=[陈奕迅,杨千嬅, Ku奎基,李克勤]

  //设置prev: action 1的默认值。所有元素都参与循环动作2。确定返回的内容。

  let result=arr.reduce((prev,item)={

  //console.log(上一个)

  返回上一个李项目/李

  }, )//添加一个空字符串

  console . log(result)//李/李丽/李丽奎祺/李丽/李另一种情况:

  使用reduce实现数组去重,创建一个空数组,依次遍历原数组。没有空数组就插入,有的就不插入了。

  设arr=[张三,李四,李四,王二,李四,马孜,张三]

  let result=arr.reduce((prev,item)={

  //includes确定存在返回T但不返回f的指定元素。

  如果(!上一个包括(项目)){

  Prev.push(项目)//。按()将新项目添加到数组中

  }

  返回上一个

  },[])//设置默认空数组

  Console.log(result)//(4) [张三,李四,王二,朝子]另一种情况:(reduce方法可以做很多事情)

  统计字符的出现次数:参见下面的代码。

  设arr=[a , b , a , c , b , a , c]

  //返回一个对象来统计每个字符的出现次数{a:2,w:3}

  let result=arr.reduce((prev,item)={

  ////确定对象是否有相应的属性。

  如果(上一项){

  //找到对应的属性值

  上一个[项目]

  //如果以后要设置或获取一个对象属性,这个属性用括号[]形式的变量表示,如果是直接。属性名的形式为.

  }否则{

  prev[item]=1

  }

  返回上一个

  },{})

  Console.log (result)//{A: 3,B: 2,C: 2}【相关推荐:javascript视频教程,web前端】以上是ES6数组加法知识总结的详细内容。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: