ES6数组方法总结

关于数组中forEach() 、map()、filter()、reduce()、some()、every()的总结

1. forEach()

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

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

forEach会遍历数组, 没有返回值, 不允许在循环体内写return, 不会改变原来数组的内容.

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 遍历数组, 会返回一个新数组, 不会改变原来数组里的内容

let temp2 = array.map(String);  // 把数组里的元素都转成字符串

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 会过滤掉数组中不满足条件的元素, 把满足条件的元素放到一个新数组中, 不改变原数组

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 是上一次计算过的值, 第一次循环的时候是数组中的第1个元素

// y 是数组中的每个元素, 第一次循环的时候是数组的第2个元素

5. every()

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

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

return item >2;

});

console.log(bo);// false;

// every遍历数组, 每一项都是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

// 遍历数组的每一项, 有一个返回true, 就停止循环

7. arr.find(callback) 找到第一个符合条件的数组成员

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() 判断数中是否包含给定的值

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()的区别:

1 indexOf()返回的是数值,而includes()返回的是布尔值

2 indexOf() 不能判断NaN,返回为-1 ,includes()则可以判断

9. arr.splice(i,n) 删除从i(索引值)开始之后的那个元素。返回值是删除的元素

参数: i 索引值      n 个数

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

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

10.arr.concat() 连接两个数组 返回值为连接后的新数组

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() 将字符串转化为数组

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

12.arr.slice(start,end) 切去索引值start到索引值end的数组,不包含end索引的值,返回值是切出来的数组

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

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

你可能感兴趣的:(ES6数组方法总结)