日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
還在傻傻分不清ES5、Es6數(shù)組方法?各大姿勢(shì)來襲

前言

初衷: 在面試中,面試官經(jīng)常問到說一下Es5和Es6的數(shù)組方法有哪些,有很多同學(xué)老是分不清楚,今天筆者就來分享一下。

目前創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、曲麻萊網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

適合人群: 前端初級(jí)開發(fā)

Es5系列

indexOf

用途: 用于查找數(shù)組中是否存在某個(gè)值,如果存在則返回某個(gè)值的下標(biāo),否則返回-1

 
 
 
 
  1. let list = [1, 2, 3];
  2. console.log(list.indexOf(2)) // 1
  3. console.log(list.indexOf("蛙人")) // -1

map

用途: map是一個(gè)數(shù)組函數(shù)方法,接收三個(gè)參數(shù),value,index,self,返回值是處理完的結(jié)果。

 
 
 
 
  1. let list = [1, 2, 3];
  2. const res = list.map((value, key, self) => {
  3.    console.log(value) // 1 2 3
  4.    console.log(key) // 0 1 2
  5.    console.log(self) // [1, 2, 3]
  6.    return value * 2
  7. })
  8. console.log(res)

forEach

用途: 用于遍歷一個(gè)數(shù)組,接收三個(gè)參數(shù),value,index,self,返回值為undefined

 
 
 
 
  1. let list = [1, 2, 3];
  2. const res = list.forEach((value, key, self) => {
  3.     console.log(value) // 1 2 3
  4.     console.log(key) // 0 1 2
  5.     console.log(self) // [1, 2, 3]
  6.     return 123
  7. })
  8. console.log(res) // undefined

splice

用途: 用于數(shù)組刪除或替換內(nèi)容,接收三個(gè)參數(shù):

  • 第一個(gè)參數(shù)是,刪除或添加的位置
  • 第二個(gè)參數(shù)是,要?jiǎng)h除的幾位,如果為0則不刪除
  • 第三個(gè)參數(shù)是,向數(shù)組添加內(nèi)容
 
 
 
 
  1. let list = [1, 2, 3];
  2. list.splice(0, 1) // 把第0個(gè)位置,給刪除一位
  3. console.log(list) // [2, 3]
  4. list.splice(0, 1, "蛙人") // 把第0個(gè)位置,給刪除一位,添加上一個(gè)字符串
  5. console.log(list) // ["蛙人", 2, 3]
  6. list.splice(0, 2, "蛙人") // 把第0個(gè)位置,給刪除2位,添加上一個(gè)字符串
  7. console.log(list) // ["蛙人", 3]

 slice

用途: 用于截取數(shù)組值,接收兩個(gè)參數(shù),第一個(gè)參數(shù)是要獲取哪個(gè)值的下標(biāo),第二個(gè)參數(shù)是截取到哪個(gè)下標(biāo)的前一位。

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.slice(1, 3) // 從第一位下標(biāo)開始截取,到第三位下標(biāo)的前一位,所以截取出來就是 [2, 3]
  3. console.log(res) // [2, 3]

filter

用途: 用于過濾數(shù)組內(nèi)的符合條件的值,返回值為滿足條件的數(shù)組對(duì)象

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.filter(item => item > 1);
  3. console.log(res) // [2, 3]

every

用途:用于檢測(cè)數(shù)組所有元素是否都符合指定條件,返回值為Boolean , 該方法是數(shù)組中必須全部值元素滿足條件返回true,否則false

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.every(item => item > 0)
  3. console.log(res) // true
  4. let res1 = list.every(item => item > 1)
  5. console.log(res1) // false

some

用途: 用于檢測(cè)數(shù)組中的元素是否滿足指定條件,返回值為Boolean , 該方法是只要數(shù)組中有一項(xiàng)滿足條件就返回true,否則false

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.some(item => item > 0)
  3. console.log(res) // true

reduce

用途: 該方法接收一個(gè)函數(shù)作為累加器,數(shù)組中的每個(gè)值(從左到右)開始縮減,最終計(jì)算為一個(gè)值。該方法回調(diào)函數(shù)接收四個(gè)參數(shù)

  • 第一個(gè)參數(shù):初始值, 或者計(jì)算結(jié)束后的返回值
  • 第二個(gè)參數(shù):當(dāng)前元素
  • 第二個(gè)參數(shù):當(dāng)前元素的索引
  • 第四個(gè)參數(shù):當(dāng)前元素所屬的數(shù)組對(duì)象,本身

我們一般只用前兩個(gè)就行,reduce第一個(gè)參數(shù)回調(diào)函數(shù),第二個(gè)參數(shù)是初始值

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.reduce(( prev, cur ) => prev += cur, 0)
  3. console.log(res) // 6

reverse

用途: 用于數(shù)組反轉(zhuǎn)

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.reverse();
  3. console.log(res) // [3, 2, 1]

join

用途: 用于數(shù)據(jù)以什么形式拼接

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.join("-");
  3. console.log(res) // 1-2-3
  4. let sum = eval(list.join("+"))
  5. console.log(sum) // 6

sort

用途:用于將數(shù)組排序,排序規(guī)則看返回值

  • 返回值為正數(shù),后面的數(shù)在前面
  • 返回值為負(fù)數(shù),前面的數(shù)不變,還在前面
  • 返回值為0,都不動(dòng)
 
 
 
 
  1. let list = [1, 2, 3];
  2. let sort = list.sort((a, b) => b - a)
  3. console.log(sort) // [3, 2, 1]

concat

用途: 用于合并數(shù)組原始

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.concat([1, 2, 3])
  3. console.log(res) // [1, 2, 3, 1, 2, 3]

push

用途: 向數(shù)組后面添加元素,返回值為數(shù)組的length

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.push(1)
  3. console.log(res) // 4

pop

用途: 用于刪除數(shù)組尾部的元素,返回值為刪除的元素

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.pop()
  3. console.log(res) // 3

shift

用途: 用于刪除數(shù)組的頭部,返回值為刪除的元素

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.shift()
  3. console.log(res) // 1

unshift

用途: 向數(shù)組的頭部添加元素,返回值為數(shù)組的length

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.unshift(1)
  3. console.log(res) // 4

toString

用途: 用于將數(shù)組內(nèi)容轉(zhuǎn)換為字符串

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.toString()
  3. console.log(res) // 1,2,3

Es6 +

includes

用途: 檢測(cè)數(shù)組中是否存在該元素,返回Boolean值

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.includes("蛙人")
  3. let res1 = list.includes(1)
  4. console.log(res, res1) // false true

find

用途: 查找數(shù)組的元素,滿足條件的返回單個(gè)值,按照就近原則返回

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.find((item) => item > 1)
  3. console.log(res) // 2, 按照就近原則返回

findIndex

用途: 查找數(shù)組中元素,滿足條件的返回?cái)?shù)組下標(biāo)

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.findIndex((item) => item > 1)
  3. console.log(res) // 1, 按照就近原則返回下標(biāo)

flat

用途: 用于拉平嵌套數(shù)組對(duì)象

 
 
 
 
  1. let list = [1, 2, 3, [4, [5]]];
  2. let res = list.flat(Infinity)
  3. console.log(res) // [1, 2, 3, 4, 5]

fill

用途: 用于填充數(shù)組對(duì)象

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res = list.fill(1)
  3. console.log(res) // [1, 1, 1]

Array.isArray

用途: 檢測(cè)對(duì)象是不是一個(gè)數(shù)組

 
 
 
 
  1. let list = [1, 2, 3];
  2. let res =  Array.isArray(list)
  3. console.log(res) // true

Array.from

用途: 將偽數(shù)組轉(zhuǎn)換為真數(shù)組

 
 
 
 
  1. let res = Array.from(document.getElementsByTagName("div"))
  2. console.log(res) // 轉(zhuǎn)換為真數(shù)組就可以調(diào)用數(shù)組原型的方法

Array.of

用途: 用于生成一個(gè)數(shù)組對(duì)象,主要是用來彌補(bǔ)Array()的不足

 
 
 
 
  1. let res = Array.of(1, 2, 3)
  2. console.log(res) // [1, 2, 3]

改變?cè)紨?shù)組值的有哪些

splice、reverse、sort、push、pop、shift、unshift、fill

結(jié)語

這里keys、values、entries就不寫啦,它們使用數(shù)組方式的話,返回的是Iterator遍歷器對(duì)象。歡迎大家查漏補(bǔ)缺常用數(shù)組方法哦


當(dāng)前題目:還在傻傻分不清ES5、Es6數(shù)組方法?各大姿勢(shì)來襲
文章起源:http://www.dlmjj.cn/article/dpiciis.html