首页 > 编程语言 > 详细

数组非纯函数

时间:2021-01-08 16:59:34      阅读:28      评论:0      收藏:0      [点我收藏+]

push, pop, shift, unshift

const arr = [10, 20, 30, 40]

const popRes = arr.pop() // 返回被删的值
const shiftRes = arr.shift() // 返回被删的值
const pushRes = arr.push(50) // 返回 length
const unshiftRes = arr.unshift(5) // 返回 length

console.log(popRes, arr) // 40 [ 10, 20, 30 ]
console.log(shiftRes, arr) // 10 [ 20, 30 ]
console.log(pushRes, arr) // 3 [ 20, 30, 50 ]
console.log(unshiftRes, arr) // 4 [ 5, 20, 30, 50 ]

forEach

遍历所有元素,item 对应的是元素的值,index 对应的是元素的位置

let arr = [7, 8, 9];
arr.forEach(function(item, index){
  console.log(index, item)
})

every

判断所有元素是否都符合条件

let arr = [4, 6, 8];
let result = arr.every(function(item, index){
  if(item < 10) {
    return true
  }
})
console.log(result) // true

some

判断是否有至少一个元素符合条件

let arr = [4, 6, 8];
let result = arr.some(function(item, index){
  if(item < 7) {
    return true
  }
})
console.log(result) // true

splice

该方法向或者从数组中添加或者删除项目,返回被删除的项目。

const arr = [10, 20, 30, 40, 50]

// slice 纯函数
const sliceRes1 = arr.slice(1, 4)
const sliceRes2 = arr.slice(2)
const sliceRes3 = arr.slice(-3)

console.log(sliceRes1, arr) // [ 20, 30, 40 ] [ 10, 20, 30, 40, 50 ]
console.log(sliceRes2, arr) // [ 30, 40, 50 ] [ 10, 20, 30, 40, 50 ]
console.log(sliceRes3, arr) // [ 30, 40, 50 ] [ 10, 20, 30, 40, 50 ]


// splice 非纯函数
const spliceRes1 = arr.splice(1, 2, ‘a‘)
const spliceRes2 = arr.splice(1, 2)
const spliceRes3 = arr.splice(1, 0, ‘a‘)
console.log(spliceRes1, arr) // [ 20, 30 ] [ 10, ‘a‘, 50 ]
console.log(spliceRes2, arr) // [ ‘a‘, 40 ] [ 10, ‘a‘, 50 ]
console.log(spliceRes3, arr) // [] [ 10, ‘a‘, 50 ]

 

数组非纯函数

原文:https://www.cnblogs.com/dahai5566/p/14251623.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!