日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

給定一個(gè)數(shù)組,讓數(shù)組的每一項(xiàng)都乘以2幾種實(shí)現(xiàn)方法

作者:小五Ivy 更新時(shí)間: 2022-02-20 編程語(yǔ)言

如實(shí)現(xiàn):[1,2,3] => [2,4,6]

方法:forEach / map / for / for…in / for… of / reduce

1.forEach

如果要使用數(shù)組的forEach()方法對(duì)其改值時(shí),需要直接通過(guò)arr[i]這種方式來(lái)更改。

let arr=[1,2,3]

arr.forEach((item, index) => {     
    item=item*2 //不生效==>arr=[1,2,3]
    arr[index]=item*2 //==>arr=[2,4,6]
})

2.map

let cie = arr.map(item=>item*2)
//cie=>[2,4,6]

3. for

for (let i = 0; i < arr.length; i++){
      arr[i]=arr[i]*2
}

4. for…in

for (let key in arr) {
      arr[key]=arr[key]*2
}

for…of

一個(gè)Map對(duì)象在迭代時(shí)會(huì)根據(jù)對(duì)象中元素的插入順序來(lái)進(jìn)行 — 一個(gè) for…of 循環(huán)在每次迭代后會(huì)返回一個(gè)形式為[key,value]的數(shù)組。
構(gòu)造函數(shù): Map() —> 創(chuàng)建Map對(duì)象

//Map可以使用for..of循環(huán)來(lái)實(shí)現(xiàn)迭代:
for (let [index, elem] of new Map(arr.map((item, i) => [i, item]))) {
      arr[index] = elem * 2
}

new Map(arr.map((item, i) => [i, item]))==>//{0 => 2, 1 => 4, 2 => 6}

reduce

let cie = arr.reduce((total, value, index, arr) => {
      total.push(value * 2)
      return total
    },[])
//cie=>[2,4,6]

Array.from

let cie=Array.from([1,2,3],x=>x*2)
//cie=>[2,4,6]
  • Array.from() 方法從一個(gè)類數(shù)組或可迭代對(duì)象創(chuàng)建一個(gè)新的, 淺拷貝的數(shù)組實(shí)例
  • Array.fom(arrayLike[,mapFn[,thisArg]])
    • arrayLike 想要轉(zhuǎn)換成數(shù)組的偽數(shù)組對(duì)象或者可迭代對(duì)象
    • mapFn 可選 ----- 如果指定了該參數(shù), 新數(shù)組中的每個(gè)元素會(huì)執(zhí)行該回調(diào)函數(shù)
    • thisArg 可選 ----- 執(zhí)行回調(diào)函數(shù)mapFn時(shí)的this對(duì)象

原文鏈接:https://blog.csdn.net/weixin_44471622/article/details/105659858

欄目分類
最近更新