掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流
初衷: 在面試中,面試官經常問到說一下Es5和Es6的數組方法有哪些,有很多同學老是分不清楚,今天筆者就來分享一下。

目前創(chuàng)新互聯已為千余家的企業(yè)提供了網站建設、域名、網頁空間、網站托管維護、企業(yè)網站設計、曲麻萊網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
適合人群: 前端初級開發(fā)
用途: 用于查找數組中是否存在某個值,如果存在則返回某個值的下標,否則返回-1
- let list = [1, 2, 3];
- console.log(list.indexOf(2)) // 1
- console.log(list.indexOf("蛙人")) // -1
用途: map是一個數組函數方法,接收三個參數,value,index,self,返回值是處理完的結果。
- let list = [1, 2, 3];
- const res = list.map((value, key, self) => {
- console.log(value) // 1 2 3
- console.log(key) // 0 1 2
- console.log(self) // [1, 2, 3]
- return value * 2
- })
- console.log(res)
用途: 用于遍歷一個數組,接收三個參數,value,index,self,返回值為undefined
- let list = [1, 2, 3];
- const res = list.forEach((value, key, self) => {
- console.log(value) // 1 2 3
- console.log(key) // 0 1 2
- console.log(self) // [1, 2, 3]
- return 123
- })
- console.log(res) // undefined
用途: 用于數組刪除或替換內容,接收三個參數:
- let list = [1, 2, 3];
- list.splice(0, 1) // 把第0個位置,給刪除一位
- console.log(list) // [2, 3]
- list.splice(0, 1, "蛙人") // 把第0個位置,給刪除一位,添加上一個字符串
- console.log(list) // ["蛙人", 2, 3]
- list.splice(0, 2, "蛙人") // 把第0個位置,給刪除2位,添加上一個字符串
- console.log(list) // ["蛙人", 3]
用途: 用于截取數組值,接收兩個參數,第一個參數是要獲取哪個值的下標,第二個參數是截取到哪個下標的前一位。
- let list = [1, 2, 3];
- let res = list.slice(1, 3) // 從第一位下標開始截取,到第三位下標的前一位,所以截取出來就是 [2, 3]
- console.log(res) // [2, 3]
用途: 用于過濾數組內的符合條件的值,返回值為滿足條件的數組對象
- let list = [1, 2, 3];
- let res = list.filter(item => item > 1);
- console.log(res) // [2, 3]
用途:用于檢測數組所有元素是否都符合指定條件,返回值為Boolean , 該方法是數組中必須全部值元素滿足條件返回true,否則false
- let list = [1, 2, 3];
- let res = list.every(item => item > 0)
- console.log(res) // true
- let res1 = list.every(item => item > 1)
- console.log(res1) // false
用途: 用于檢測數組中的元素是否滿足指定條件,返回值為Boolean , 該方法是只要數組中有一項滿足條件就返回true,否則false
- let list = [1, 2, 3];
- let res = list.some(item => item > 0)
- console.log(res) // true
用途: 該方法接收一個函數作為累加器,數組中的每個值(從左到右)開始縮減,最終計算為一個值。該方法回調函數接收四個參數
我們一般只用前兩個就行,reduce第一個參數回調函數,第二個參數是初始值
- let list = [1, 2, 3];
- let res = list.reduce(( prev, cur ) => prev += cur, 0)
- console.log(res) // 6
用途: 用于數組反轉
- let list = [1, 2, 3];
- let res = list.reverse();
- console.log(res) // [3, 2, 1]
用途: 用于數據以什么形式拼接
- let list = [1, 2, 3];
- let res = list.join("-");
- console.log(res) // 1-2-3
- let sum = eval(list.join("+"))
- console.log(sum) // 6
用途:用于將數組排序,排序規(guī)則看返回值
- let list = [1, 2, 3];
- let sort = list.sort((a, b) => b - a)
- console.log(sort) // [3, 2, 1]
用途: 用于合并數組原始
- let list = [1, 2, 3];
- let res = list.concat([1, 2, 3])
- console.log(res) // [1, 2, 3, 1, 2, 3]
用途: 向數組后面添加元素,返回值為數組的length
- let list = [1, 2, 3];
- let res = list.push(1)
- console.log(res) // 4
用途: 用于刪除數組尾部的元素,返回值為刪除的元素
- let list = [1, 2, 3];
- let res = list.pop()
- console.log(res) // 3
用途: 用于刪除數組的頭部,返回值為刪除的元素
- let list = [1, 2, 3];
- let res = list.shift()
- console.log(res) // 1
用途: 向數組的頭部添加元素,返回值為數組的length
- let list = [1, 2, 3];
- let res = list.unshift(1)
- console.log(res) // 4
用途: 用于將數組內容轉換為字符串
- let list = [1, 2, 3];
- let res = list.toString()
- console.log(res) // 1,2,3
用途: 檢測數組中是否存在該元素,返回Boolean值
- let list = [1, 2, 3];
- let res = list.includes("蛙人")
- let res1 = list.includes(1)
- console.log(res, res1) // false true
用途: 查找數組的元素,滿足條件的返回單個值,按照就近原則返回
- let list = [1, 2, 3];
- let res = list.find((item) => item > 1)
- console.log(res) // 2, 按照就近原則返回
用途: 查找數組中元素,滿足條件的返回數組下標
- let list = [1, 2, 3];
- let res = list.findIndex((item) => item > 1)
- console.log(res) // 1, 按照就近原則返回下標
用途: 用于拉平嵌套數組對象
- let list = [1, 2, 3, [4, [5]]];
- let res = list.flat(Infinity)
- console.log(res) // [1, 2, 3, 4, 5]
用途: 用于填充數組對象
- let list = [1, 2, 3];
- let res = list.fill(1)
- console.log(res) // [1, 1, 1]
用途: 檢測對象是不是一個數組
- let list = [1, 2, 3];
- let res = Array.isArray(list)
- console.log(res) // true
用途: 將偽數組轉換為真數組
- let res = Array.from(document.getElementsByTagName("div"))
- console.log(res) // 轉換為真數組就可以調用數組原型的方法
用途: 用于生成一個數組對象,主要是用來彌補Array()的不足
- let res = Array.of(1, 2, 3)
- console.log(res) // [1, 2, 3]
splice、reverse、sort、push、pop、shift、unshift、fill
這里keys、values、entries就不寫啦,它們使用數組方式的話,返回的是Iterator遍歷器對象。歡迎大家查漏補缺常用數組方法哦

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流