数组的方法 forEach filter map slice splice

Posted zhanghongkun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组的方法 forEach filter map slice splice相关的知识,希望对你有一定的参考价值。

目前一些数组的实用的方法

1 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]
2 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]
3 str.split() 将字符串转化为数组
let str = ‘123456‘
console.log(str.split(‘‘)) // ["1", "2", "3", "4", "5", "6"]

4 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]
5 arr.forEach(callback) 遍历数组,无return
  callback的参数: value --当前索引的值
          index --索引
          array --原数组
技术图片
let arr = [1,2,3,4,5]
arr.forEach( (value,index,array)=>
        console.log(`value:$value    index:$index     array:$array`)
    )   
    //  value:1    index:0     array:1,2,3,4,5
    //  value:2    index:1     array:1,2,3,4,5
    //  value:3    index:2     array:1,2,3,4,5
    //  value:4    index:3     array:1,2,3,4,5
    //  value:5    index:4     array:1,2,3,4,5

let arr = [1,2,3,4,5]
arr.forEach( (value,index,array)=>
        value = value * 2
        console.log(`value:$value    index:$index     array:$array`)
    )   
    console.log(arr)
    // value:2    index:0     array:1,2,3,4,5
    // value:4    index:1     array:1,2,3,4,5
    // value:6    index:2     array:1,2,3,4,5
    // value:8    index:3     array:1,2,3,4,5
    // value:10   index:4     array:1,2,3,4,5
    // [1, 2, 3, 4, 5]
技术图片
6 arr.map(callback) 映射数组(遍历数组),有return 返回一个新数组
  callback的参数: value --当前索引的值
          index --索引
          array --原数组
技术图片
let arr = [1,2,3,4,5]
arr.map( (value,index,array)=>
        value = value * 2
        console.log(`value:$value    index:$index     array:$array`)
)   
console.log(arr)
技术图片

ps: arr.forEach()和arr.map()的区别 
    1. arr.forEach()是和for循环一样,是代替for。arr.map()是修改数组其中的数据,并返回新的数据。
    2. arr.forEach() 没有return  arr.map() 有return

7 arr.filter(callback) 过滤数组,返回一个满足要求的数组
let arr = [1,2,3,4,5]
let arr1 = arr.filter( (i, v) => i < 3)
console.log(arr1)    // [1, 2]
8 arr.every(callback) 依据判断条件,数组的元素是否全满足,若满足则返回ture
let arr = [1,2,3,4,5]
let arr1 = arr.every( (i, v) => i < 3)
console.log(arr1)    // false
let arr2 = arr.every( (i, v) => i < 10)
console.log(arr2)    // true
9 arr.some() 依据判断条件,数组的元素是否有一个满足,若有一个满足则返回ture
let arr = [1,2,3,4,5]
let arr1 = arr.some( (i, v) => i < 3)
console.log(arr1)    // true
let arr2 = arr.some( (i, v) => i > 10)
console.log(arr2)    // false

以上是关于数组的方法 forEach filter map slice splice的主要内容,如果未能解决你的问题,请参考以下文章

ES5新增的常用数组方法(forEach,map,filter,every,some)

数组方法重写:forEach, map, filter

ES5新增 数组操作forEach()map()filter()some()every()

ES5新增 数组操作forEach()map()filter()some()every()

数组的方法 forEach filter map slice splice

238 ES5新增方法:forEach()map()filter()some()every()