innerWang / blogs

1 stars 0 forks source link

Array的原型方法 #17

Open innerWang opened 5 years ago

innerWang commented 5 years ago

1. Array.prototype.splice()

splice() 方法可实现对数组元素的删除和替换,以数组形式返回被删除的内容,未删除则返回空数组,此方法会改变原数组。

  arr.splice(start [,deleteCount [, item1 [, item2 [ ,... ]]]])

var b = [1,2,3,4,5,6] console.log(b.splice(2,1)) // [3] console.log(b) // [1, 2, 4, 5, 6]

var c = [1,2,3,4,5,6] console.log(c.splice(2,1,9,10)) // [3] console.log(c) // [1, 2, 9, 10, 4, 5, 6]


## 2. Array.prototype.slice()
**`slice()`** 方法返回由 begin 和 end 决定的原数组的浅拷贝。
```js
   arr.slice([begin] [, end])

3. Array.prototype.reduce()

reduce() 方法对数组中的每个元素执行自定义的reducer()函数,将结果汇总为单个返回值。

   arr.reduce(callback [, initValue])  //此处 callback即为自定的reducer()

// reduce 实现数组拍平 const flatten = arr => { return arr.reduce((ret,ele)=>{ return ret.concat(Array.isArray(ele) ? flatten(ele) : ele) },[]) } var arr1 = [1, [[2], 3, 4], 5] console.log(flatten(arr1))