js中数组基本方法 + es6中数组的扩展方法

Posted xuwennn

tags:

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

1.push()  —— 将1个或n个元素添加到数组的末尾,并返回新数组的length

例:let arr = [1, 2, 3]

       let l = arr.push(4, 5)          // l = 新数组的长度5, arr = [1, 2, 3, 4, 5]

2.pop()  —— 删除数组中的最后一个元素,并返回该元素的值

例:let arr = [1, 2, 3]

       let item = arr.pop()          // item  = 3, arr = [1, 2]

3.unshift()  —— 将1个或n个元素添加到数组的头部,并返回新数组的length

例:let arr = [1, 2, 3]

       let l = arr.unshift(4, 5)          // l = 新数组的长度5, arr = [4, 5, 1, 2, 3]

4.shift()  —— 删除数组中的第一个元素,并返回该元素的值

例:let arr = [1, 2, 3]

       let item = arr.shift()          // item  = 1, arr = [2, 3]

5.slice(x, y)  —— 可以在数组中截取“部分数组”,并将截取到的“部分数组”放在一个新数组中返回

x: 截取开始位置的索引,被包含在截取范围内

y: 截取结束位置的索引,不被包含在截取范围内,截取到第y-1个元素

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

       let newArr = arr.slice(1, 3)          // newArr = [2, 3], arr = [1, 2, 3, 4, 5]

6.splice(x, y, z1, z2)  —— 可以在数组中删除/插入/替换数组元素,并将“被删除元素”放在一个新数组中返回

x: 开始位置的索引

y: 删除的元素个数

z1、z2: 替换元素,会插入到开始位置索引x的后面(可不写,不写用于删除操作)

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

       let newArr = arr.splice(1, 3,‘王小明‘)          // newArr = [2, 3, 4], arr = [1, 王小明, 5]

注:用于删除某个指定索引 index 元素  --> arr.splice(index, 1)

----------------------------------------------------------------------------------------------------------------------------------------------------------

ES6中数组的扩展方法:

1).forEach()  —— 遍历

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

  arr.forEach((item, index) => {

  console.log( ‘第‘ + index + ‘个元素是:‘ + item)

  })  

2).find()  —— 找出数组中第一个复合条件的元素,并返回该元素

例:let arr = [

    {id= 1, name="哈利波特"}

    {id= 2, name="指环王"}

  ]

       let target = arr.find(item => item.id == 2)          // 获取id为2的元素

3).findIndex()  —— 找出数组中第一个复合条件的元素,并返回该元素的索引值

例:let arr = [

    {id= 1, name="哈利波特"}

    {id= 2, name="指环王"}

  ]

       let target = arr.find(item => item.id == 2)          // 获取id为2的元素的索引值

4).includes()  —— 判断数组中是否包含某个元素,并返回布尔值

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

  arr.includes(3)     //true

  arr.includes(10)     //false

5).map()  —— 映射,可用于一一对应更改数组元素,并返回新数组

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

  let newArr = arr.map(item => item + 1)     // newArr = [2, 3, 4, 5, 6]

6).filter()  —— 过滤, 并返回满足条件元素的新数组

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

  let newArr = arr.filter(item => item > 3)     // newArr = [4, 5]

7).reduce()  —— 累加器,可用于求和、求平均数等

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

  let target = arr.reduce((val, item, index) => {

   if(index == arr.length){

          return val
   } else {
          return val += item
   }

 

  })               //用于求和, target = 15

 

以上是关于js中数组基本方法 + es6中数组的扩展方法的主要内容,如果未能解决你的问题,请参考以下文章

ES6数组扩展

JavaScript ES6 数组属性方法及其扩展

ES6数组扩展方法的实现

ES6数组扩展运算符和字符串遍历的新方法!!!

ES6-05:数组的扩展

ES6数组扩展运算符(Rest+Spread)类方法原型方法