成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

還在傻傻分不清ES5、Es6數組方法?各大姿勢來襲

開發 前端
在面試中,面試官經常問到說一下Es5和Es6的數組方法有哪些,有很多同學老是分不清楚,今天筆者就來分享一下。

[[394291]]

前言

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

適合人群: 前端初級開發

Es5系列

indexOf

用途: 用于查找數組中是否存在某個值,如果存在則返回某個值的下標,否則返回-1

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

map

用途: map是一個數組函數方法,接收三個參數,value,index,self,返回值是處理完的結果。

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

forEach

用途: 用于遍歷一個數組,接收三個參數,value,index,self,返回值為undefined

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

splice

用途: 用于數組刪除或替換內容,接收三個參數:

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

 slice

用途: 用于截取數組值,接收兩個參數,第一個參數是要獲取哪個值的下標,第二個參數是截取到哪個下標的前一位。

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

filter

用途: 用于過濾數組內的符合條件的值,返回值為滿足條件的數組對象

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

every

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

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

some

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

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

reduce

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

  • 第一個參數:初始值, 或者計算結束后的返回值
  • 第二個參數:當前元素
  • 第二個參數:當前元素的索引
  • 第四個參數:當前元素所屬的數組對象,本身

我們一般只用前兩個就行,reduce第一個參數回調函數,第二個參數是初始值

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

reverse

用途: 用于數組反轉

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

join

用途: 用于數據以什么形式拼接

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

sort

用途: 用于將數組排序,排序規則看返回值

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

concat

用途: 用于合并數組原始

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

push

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

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

pop

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

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

shift

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

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

unshift

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

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

toString

用途: 用于將數組內容轉換為字符串

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

Es6 +

includes

用途: 檢測數組中是否存在該元素,返回Boolean值

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

find

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

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

findIndex

用途: 查找數組中元素,滿足條件的返回數組下標

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

flat

用途: 用于拉平嵌套數組對象

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

fill

用途: 用于填充數組對象

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

Array.isArray

用途: 檢測對象是不是一個數組

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

Array.from

用途: 將偽數組轉換為真數組

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

Array.of

用途: 用于生成一個數組對象,主要是用來彌補Array()的不足

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

改變原始數組值的有哪些

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

結語

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

 

責任編輯:姜華 來源: 前端娛樂圈
相關推薦

2018-07-16 16:10:03

前端JavaScript面向對象

2023-09-03 21:18:07

Python編程語言

2021-08-04 09:00:55

閉包Go調用

2022-05-05 13:54:37

SPI機制APISPI

2023-05-10 08:26:33

IO模型API

2021-03-10 08:56:37

Zookeeper

2021-01-22 08:37:02

二進制Binary SemaReentrant L

2021-03-23 10:45:23

CookieSession前端

2021-05-09 21:57:08

數據倉庫Olap

2021-10-06 23:31:45

HibernateJPASpring Data

2024-02-29 09:08:56

Encoding算法加密

2021-08-02 12:50:45

sessiontokenJava

2021-12-28 20:06:43

JavaScript開發數組

2021-07-27 07:31:16

JavaArrayList數組

2022-05-15 21:52:04

typeTypeScriptinterface

2018-12-17 12:30:05

Kubernetes存儲存儲卷

2025-02-05 08:02:31

Winform開發窗體

2021-08-02 05:51:29

foreachES6數組

2019-06-18 09:45:19

正向代理反向代理IT

2020-10-30 08:20:04

SD卡TF卡存儲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久9热 | 成人欧美一区二区三区黑人孕妇 | 亚洲精品久久久久中文字幕欢迎你 | 成人精品毛片国产亚洲av十九禁 | 国产精品成人一区二区三区吃奶 | 亚洲精品中文在线观看 | 成人在线一区二区三区 | 欧美色综合一区二区三区 | 91精品久久久久久久久久 | 亚洲第一av | 欧美三级视频在线观看 | av大片| 青草青草久热精品视频在线观看 | 久久高清精品 | 欧美极品在线观看 | 精品视频一区二区 | 日韩三级在线观看 | 日韩电影一区 | 久久精品小视频 | 国产乱码久久久久久一区二区 | 91电影在线| 欧美日韩国产一区二区三区 | 久久中文字幕一区 | 精品视频 免费 | 国产综合第一页 | 色性av | 国产日韩一区二区三免费高清 | 日韩激情免费 | 中文字幕的av | 欧美日韩在线综合 | 亚洲欧美在线一区 | 99久久久久久久久 | 日韩欧美一区二区三区免费观看 | 色www精品视频在线观看 | 国产精品久久久久久久久久久久 | 久久久夜色精品亚洲 | 亚洲一区二区三区在线视频 | 国产精品视频入口 | 亚洲午夜精品 | 国产一区二区在线视频 | 国产成人午夜高潮毛片 |