数组常用的方法

数组的常用方法

Array.length

length是Array的实例属性,返回的是数组中元素的个数 并且总是大于数组中最后一项的下标

let arr = [1, 2, 3, 4]
console.log(arr.length) // 4

indexOf

indexOf(‘ele’,fromIndex)
参数一: 查询的元素
参数二(可选): 从下标哪里的位置开始查找,默认是0, 0就是查询整个数组

indexOf('')
let arr1 = ['a', 'b', 'c']
let b  = arr1.indexOf('a')
console.log(b); //  返回的下标(索引)为 0 
console.log(arr1[0]) //  'a'

Array.isArray

判断是否是Array(数组)类型 返回布尔值 true/ false

let arr = [5, 14, 47]
console.log(Array.isArray(arr)) // true
console.log(Array.isArray({ a: 10 })) // false

push(掌握)

该方法可以向数组的末尾添加一个或多个元素,并返回数组的新长度

let arr = ['red', 'blue', 'green']
arr.push('yellow')
console.log(arr) // [ 'red', 'blue', 'green', 'yellow' ]

every(掌握)

定义一个条件,它会循环数组中的每一项,如果满足定义的条件,则返回 true,否则 false

let arr = [22, 12, 19, 21, 36]
// 很明显,数组中的每一项都小于40 ,返回 false
let a = arr.every(item => item > 40)
console.log(a) // false

filter(掌握)

循环判断数组中的每一项元素是否满足定义的条件,返回一个新的数组,里面的元素是满足条件的元素

let arr = [1, 3, 5, 7, 6]
// 查询并返回数组中大于5的元素
let a = arr.filter(item => item > 5)
console.log(a) // [ 7, 6 ]

findIndex(掌握)

返回数组中第一个满足条件的元素的下标

let arr = [11, 24, 26, 31, 15]
// 查询数组中大于25的元素
let a = arr.findIndex(item => item > 25)
console.log(a) // 2

find

find和findIndex不要弄混淆了,find是返回满足条件的元素(值)

let arr = [1, 12, 44]
let a = arr.find(item => item > 15)
console.log(a) // 44

forEach(掌握)

循环数组中的每一个元素,并对每一个元素提供一个函数

let arr = [3, 5, 9]
let a = arr.forEach(item => console.log(item))
// 输出:3 5 9

// 
let arr = [3, 5, 9]
let sum = 0
let sumFn = function (a, b) {
    return a + b
}
arr.forEach( item => {
    sum = sumFn(sum, item)
})
console.log(sum) // 17 

reduce(掌握)

循环数组,让数组中的每一项进行一次计算,返回计算后的总和

let arr = [1, 2, 3, 4]
let a = arr.reduce((temp, item) => temp + item, 0)
console.log(a) // 10 
 // 第四个参数我们定义为 0 ,也就是初始值是从0开始相加
 // temp第一次相加时: temp = 0 + 1
 // 第二次: temp = 1 + 2
 // 第三次: temp = 3 + 3
 // 第四次: temp = 6 + 4 
 // 最后输出的结果就是 :10 
 // 如果我们把初识值设置为2,或者任意一个数
 // 比如 设置为2  那就从2 开始相加  
 // 第一次: temp = 2 + 1 
 // 第二次: temp = 3 + 2  以此类推
// 第四个参数一般设置为0, 但是也可以不设置,不设置的话reduce的计算方式是这样子的
// 第一次: temp = 1 + 2
// 第二次: temp = 3 + 3
// 第三次: temp = 6 + 4  最后输出的结果还是10  并不会影响结果

pop

删除数组最后一个元素,并返回被元素的元素,此方法会改变原数组的长度

let arr = ['周一', '周二', '周三']
console.log(arr.pop()) // 周三
console.log(arr) // [ '周一', '周二' ]

join(掌握)

将数转化为字符串,使数组用指定的分隔符字符串分割数组中的元素, 数组默认用逗号分割

let arr = ['red', 'blue', 'green']
let a = arr.join('-')
console.log(a) // red-blue-green

splice(掌握)

该方法通过删除和替换数组中的现有元素,或者添加新的元素来改变原数组的内容
如果第三个参数不写的话,splice只会从数组中移除元素

let arr = ['周一', '周二', '周三', '周四', '周五']
// 第一个参数是, 从数组中下标第几个开始
// 第二个参数是,往后删除几个 
arr.splice(0, 1) 
console.log(arr) // [ '周二', '周三', '周四', '周五' ]


// 第三个参数 要添加的元素
// 如果第三个参数不写的话,splice只会从数组中移除元素
let arr = ['周一', '周二', '周三', '周四', '周五']
arr.splice(0, 1, '周六')
console.log(arr) // [ '周六', '周二', '周三', '周四', '周五' ]

slice

该方法将数组的一部分的浅拷贝返回到一个新的数组对象中,不会修改原数组

let arr = ['red', 'blue', 'green', 'yellow', 'skyblue']
// 第一个参数: 从下标第几项拷贝,拷贝当前下标和后面的所有元素
let arr1 = arr.slice(1)
// 第二个参数是截止位置
let arr2 = arr.slice(1,3)
console.log(arr1) // [ 'blue', 'green', 'yellow', 'skyblue' ]
console.log(arr2) // [ 'blue', 'green', 'yellow']

unshift

该方将一个或者多个元素添加到数组的开头,并返回新数组的长度

let arr = [3, 4, 5, 6]
// 把1和2 从数组的前面添加进去
arr.unshift(1, 2)
console.log(arr) // [ 1, 2, 3, 4, 5, 6 ]

以上是我总结的大部分比较常用的数组的方法,有不足或更好的方法欢迎补充!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值