自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ES6新增語法—數(shù)組新增七種方法介紹

開發(fā) 前端
數(shù)組(Array)是有序的元素序列。 若將有限個(gè)類型相同的變量的集合命名,那么這個(gè)名稱為數(shù)組名。組成數(shù)組的各個(gè)變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時(shí)也稱為下標(biāo)變量。

[[414620]]

forEach:遍歷數(shù)組

foreach只是對數(shù)組進(jìn)行遍歷,并不會改變原來的數(shù)組。

示例:打印數(shù)組中的每個(gè)元素。

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

上述使用了箭頭函數(shù),省略了括號,如果需要數(shù)組下標(biāo)的時(shí)候,可以把標(biāo)加上,改寫成:

  1. let arr = ['a','b','c']; 
  2. arr.forEach((item,index)=>{ 
  3.  console.log('當(dāng)前元素',item) 
  4.  console.log('當(dāng)前元素下標(biāo)',index
  5. }) 

如果是給同級的幾個(gè)元素遍歷設(shè)置背景顏色時(shí),運(yùn)行發(fā)現(xiàn)失敗,代碼如下:

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

運(yùn)行報(bào)錯(cuò):Uncaught TypeError: aDiv.forEach is not a function at window.onload

報(bào)錯(cuò)主要是因?yàn)?aDiv 并不是一個(gè)真正的數(shù)組,它是一個(gè)類數(shù)組。此時(shí)我們需要借助from方法。

from:轉(zhuǎn)換數(shù)組

from()方法把類數(shù)組轉(zhuǎn)換成真正的數(shù)組。

使用語法:Array.from(類數(shù)組)

此時(shí)我們只需要借助from方法,把a(bǔ)Div轉(zhuǎn)換成真正的數(shù)組,就可以使用forEach遍歷,給每個(gè)元素設(shè)置背景。代碼如下:

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

map:映射

原數(shù)組被映射成一個(gè)新的數(shù)組。返回值是一個(gè)新數(shù)組,不改變原來的數(shù)組。

將一組成績映射成是否及格的布爾值,判斷大于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過濾數(shù)組,進(jìn)去一堆出來幾個(gè),返回過濾后的新數(shù)組。

比如去掉數(shù)組中的偶數(shù),只保留奇數(shù)。

  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:匯總

進(jìn)去一堆數(shù)據(jù),出來一個(gè)。比如求和或者求平均數(shù)。

以下是求平均數(shù)的一個(gè)實(shí)例:

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

上述的tmp是中間的一個(gè)結(jié)果,最開始是第一個(gè)值。

find:查找

在數(shù)組中找到符合要求的對象,和filter的區(qū)別是找到符合要求的對象就停止搜索了,返回的是一個(gè)對象。

查找姓名叫王五的這個(gè)人,代碼如下:

  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目標(biāo)數(shù)組中每一個(gè)對象都符合條件則返回true,否則返回false。

some目標(biāo)數(shù)組中有一個(gè)或一個(gè)以上符合條件就會返回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 

 

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2021-08-16 07:05:58

ES6Promise開發(fā)語言

2021-07-30 07:10:07

ES6函數(shù)參數(shù)

2021-08-18 07:05:57

ES6Asyncawait

2021-07-16 07:26:48

ES6javascript開發(fā)語言

2011-12-16 14:45:36

JavaJSP

2011-05-30 13:37:46

JSP

2016-09-28 20:05:22

2022-01-26 07:18:57

ES6WeakSetMap

2023-04-18 15:57:30

2022-10-27 08:09:33

2024-07-29 08:00:00

2022-09-30 10:48:12

AR制造業(yè)

2016-12-27 19:19:51

2021-07-02 10:43:52

IT人才首席信息官人才招聘

2009-10-29 16:32:24

查看Oracle用戶的

2024-10-21 13:05:40

2022-05-09 13:35:56

云配置云安全黑客

2021-11-19 10:10:14

手機(jī)移動設(shè)備網(wǎng)絡(luò)攻擊

2024-11-21 16:30:21

2023-06-08 09:00:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號