ES6 幾個新增且常用的陣列方法

2022-09-23 23:33:16 字數 2308 閱讀 8783

foreach

var arr = [1, 2, 3, 4, 5];

// foreach

arr.foreach(function (item, i, array) )

結果:1 0 [1, 2, 3, 4, 5]

2 1 [1, 2, 3, 4, 5]

3 2 [1, 2, 3, 4, 5]

4 3 [1, 2, 3, 4, 5]

5 4 [1, 2, 3, 4, 5]

map:其最主要的作用就是將原陣列按照一定的規則對映成乙個新的陣列。再將其返回,注意是返回乙個新的陣列,而不是將原陣列直接改變使用方式和foreach類似,也是接受乙個**函式,乙個改變內部this指向的物件。

var arr = [1, 2, 3, 4, 5];

var newarr = arr.map(function (e, i, array) )

結果:["hello 1", "hello 2", "hello 3", "hello 4", "hello 5"] // newarr

[1, 2, 3, 4, 5] // arr

filter 返回乙個新的陣列;

var arr = [1, 2, 3, 4, 5];

var newarr2 = arr.filter(function (e, i, array) )

some vs every some與接下裡的every正好相對,some是只要陣列中的某個值,符合你給定的判斷條件就返回true,而every則是陣列中的所有值都符合你給定的判斷條件的時候才會返回true,否則就返回false,也就是說兩個方法最後得到的都是true or false

var arr = [0, 1, 2, 3, 4, 5];

var result = arr.some(function (e, i, array) ;

});結果 :true

var arr = [0, 1, 2, 3, 4, 5];

var result2 = arr.every(function (e, i, array) ;

});

結果:false

indexof

var arr = [0, 1, 2, 3, 4, 5];

arr.indexof(1) // 1

lastindexof

var arr = [0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0];

arr.lastindexof(1) // 9

reduce:如果沒有傳入initialvalue,則預設是陣列的第一項。第二個及其後面的引數分別是當前值,索引,陣列本身

var arr = [0, 1, 2, 3, 4, 5],

sum = arr.reduce(function (init, cur, i, array) );

//output

sum // 15

reduceright 類似reduce

set 陣列去重

let test = [0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0];

[...new set(test)];

結果:[0,1,2,3,4,5]

from()

let myarray = ;

let arr = array.from(myarray);

console.log(arr); //由於沒有length屬性列印結果為乙個空陣列

let myarray = ;

let arr = array.from(myarray);

console.log(arr); //["a", "b", "c"]

如果引數是乙個真正的陣列,array.from()會返回乙個一模一樣的新陣列

var arr = [1,2,3];

var myarr = array.from(arr);

console.log(myarr); //[1, 2, 3]

myarr[0] = 4;

console.log(myarr); //[4, 2, 3]

keys(),valueof(),entries()方法

keys()遍歷出所有的索引值

for (let index of ['a', 'b'].keys()) //0 1

valueof()遍歷所有的值

for (let index of ['a', 'b'].valueof()) //a b

entries()遍歷值和索引

for (let index of ['a', 'b'].entries()) //[0, "a"] [1, "b"]

es6新增的陣列方法

1.map 給陣列呼叫乙個函式,生成乙個新陣列 let arr 1,2,3,4,5 let newarr arr.map item item 3 console.log newarr 3,6,9,12,15 2.filter 條件篩選出符合條件的資料,生成新陣列 let arr 1,2,3,4,5 ...

ES6新增陣列方法

1.includes 1,2,3 includes 2 indexof要去比較是否不等於 1,表達起來不夠直觀 而且它內部使用嚴格相等運算子 進行判斷,這會導致nan不等於nan 4.擴充套件運算子 console.log 1,2,3 1 2 3 主要用於函式呼叫 es5 的寫法 es6 的寫法 m...

ES6新增陣列方法

1.擴充套件運算子可以將陣列或者物件轉為用逗號分隔的引數序列 let ary 1,2,3 ary 1,2,3 console.log ary 1 2 3,相當於下面的 console.log 1,2,3 2.擴充套件運算子可以應用於合併陣列 let ary1 1,2,3 let ary2 3,4,5...