ES6數(shù)組方法總結

關于數(shù)組中forEach() 、map()、filter()、reduce()、some()、every()的總結

1. forEach()

let array = [1,2,3,4];

array.forEach((item, index, array) =>{console.log(item);});

forEach會遍歷數(shù)組, 沒有返回值, 不允許在循環(huán)體內寫return, 不會改變原來數(shù)組的內容.

2. map()

let array = [1, 2, 3, 4];

let temp = array.map((item, index, array) => {

  return item * 10;

});

console.log(temp);  //? [10, 20, 30, 40];

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

// map 遍歷數(shù)組, 會返回一個新數(shù)組, 不會改變原來數(shù)組里的內容

let temp2 = array.map(String);  // 把數(shù)組里的元素都轉成字符串

3. filter()

let array = [1,2,3,4];

let temp = array.filter((item, index, array) =>{

return item >3;

});

console.log(temp);// [4]

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

// filter 會過濾掉數(shù)組中不滿足條件的元素, 把滿足條件的元素放到一個新數(shù)組中, 不改變原數(shù)組

4. reduce()

let array = [1,2,3,4];

let temp = array.reduce((x, y) =>{

console.log("x": x);

console.log("y": y);

return x + y;});

console.log(temp);// 10

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

// x 是上一次計算過的值, 第一次循環(huán)的時候是數(shù)組中的第1個元素

// y 是數(shù)組中的每個元素, 第一次循環(huán)的時候是數(shù)組的第2個元素

5. every()

let array = [1,2,3,4];

let bo = array.every((item, index, array) =>{

return item >2;

});

console.log(bo);// false;

// every遍歷數(shù)組, 每一項都是true, 則返回true, 只要有一個是false, 就返回false

6. some()

let array = [1,2,3,4];

let tmep = array.some((item, index, array) =>{

return item >1;

});

console.log(temp);// true

// 遍歷數(shù)組的每一項, 有一個返回true, 就停止循環(huán)

7.?arr.find(callback)?找到第一個符合條件的數(shù)組成員

let arr = [1,2,3,4,5,2,4]

let arr1 = arr.find((value, index, array) =>value > 2)

console.log(arr1)? // 3

8.arr.includes()?判斷數(shù)中是否包含給定的值

let arr = [1,2,3,4,5]

let arr1 = arr.includes(2)?

console.log(arr1)? // turelet arr2 = arr.includes(9)

console.log(arr2)? ? // falselet arr3 = [1,2,3,NaN].includes(NaN)

console.log(arr3)? // true

ps:與indexOf()的區(qū)別:

1 indexOf()返回的是數(shù)值,而includes()返回的是布爾值

2 indexOf() 不能判斷NaN,返回為-1 ,includes()則可以判斷

9.?arr.splice(i,n)?刪除從i(索引值)開始之后的那個元素。返回值是刪除的元素

參數(shù): i 索引值? ? ? n 個數(shù)

let arr = [1,2,3,4,5]

console.log(arr.splice(2,2))//[3,4]console.log(arr)// [1,2,5]

10.arr.concat()?連接兩個數(shù)組 返回值為連接后的新數(shù)組

let arr = [1,2,3,4,5]

console.log(arr.concat([1,2]))// [1,2,3,4,5,1,2]console.log(arr)// [1,2,3,4,5]

11.?str.split()?將字符串轉化為數(shù)組

let str = '123456'console.log(str.split(''))// ["1", "2", "3", "4", "5", "6"]

12.arr.slice(start,end)?切去索引值start到索引值end的數(shù)組,不包含end索引的值,返回值是切出來的數(shù)組

let arr = [1,2,3,4,5]

console.log(arr.slice(1,3))// [2,3]console.log(arr)//? [1,2,3,4,5]

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容