数组的相关方法

1. 向数组的末尾添加元素

arr.push('要添加的元素')

push方法的返回值:新数组的长度

改变原有数组的

2. 向数组的开头添加元素

arr.unshift('要添加的元素')

3. 从数组的末尾删除元素

arr.pop()

pop方法返回值:被删除的元素

4. 从数组的开头删除元素

arr.shift()

5. 数组的排序方法

const arr = [ 1, 3, 2, 10, 45, 32, 57 ]
arr.sort(); // [ 1, 10, 2, 3, 32, 45, 57 ]
console.log(arr)
​
arr.sort(function(num1, num2) {
    // num1, num2: 代表的是数组中的元素
    return num1 - num2
})
console.log(arr)

改变原有数组的

6. 数组的倒序方法

arr.reverse()

7. 数组的截取方法

arr.slice(startIndex, endIndex)

startIndex: 起始下标,包含在内

endIndex: 结束下标,不包含

[startIndex, endIndex)

返回值:截取后的元素,以数组的形式返回

不改变原有数组

8. 数组的替换方法

arr.splice(startIndex, num, ...item)

startIndex: 开始下标

num:要替换的数组的个数

item: 要替换的数组元素(剩余参数)

返回值:原数组中被替换掉元素

改变原有数组

9. 数组的联接方法

arr.concat(arr1, arr2, ...)
const arr = [1, 2];
const arr2 = [3, 4];
​
const arr3 = arr.concat(arr2); // [1, 2, 3, 4]
console.log(arr3)

返回值:合并之后的数组

不改变原有数组

10. 将数组转成字符串

arr.join('分隔符')

不改变原有数组

11. 判断数组中的元素是否存在

arr.includes('数组中的元素')

如果数组中的元素存在,返回true,否则false

arr.indexOf('数组中的元素')

如果元素存在,返回的是元素的下标,否则返回的-1

12. 根据条件查找数组中的元素

  • find

    arr.find((item, index, arr) => '表达式')

    返回数组中符合条件的第一个元素,如果数组中没有符合条件的元素,返回undefined

    const arr = ['A', 'B', 'C', 1, 2, 3]
    const res = arr.find(function(item, index, arr) {
        // item: 数组中的元素
        // index: 下标
        // arr: 数组本身
        return typeof item === 'string'
        // return item > 10 // undefined
    })
    console.log(res)
  • findIndex

    arr.findindex((item, index, arr) => '表达式')

    返回数组中符合条件的第一个元素的下标,如果数组中没有符合条件的元素,返回-1

13. 过滤数组中元素

arr.filter((item, index, arr) => '表达式')

以数组的形式返回符合条件的元素

14. 对数组中的元素进行遍历

arr.forEach(function(item) {})

forEach这个方法是没有返回值的

15. 如果数组中的元素是否满足条件

  • every

    arr.every((item, index, arr) => '表达式')

    如果数组中的元素都满足条件,返回true;只要有一个元素不满足条件,返回false

  • some

    arr.some((item, index, arr) => '表达式')

    如果数组中的元素都不满足条件,返回false;只要有一个元素满足条件,返回true

16. 数组的映射方法

arr.map((item, index, arr) => '表达式')

对数组中的元素进行二次加工,返回处理后的数组

17. 数组的迭代方法

arr.reduce((initailValue, item, index, arr) => '表达式', '可选的参数initial')

如果reduce的第二个参数不存在:initailValue的值为数组的第一个元素

如果reduce的第二个参数存在:initailValue的值为reduce函数的第二个参数

// 数组元素求和
const res = arr.reduce(function(num, item) {
    console.log(num)
    return num + item;
})
console.log(res)
const arr2 = [
    { color: "#c00" },
    { color: '#ff0' },
    { color: '#00f' }
] // ['#c00', '#ff0', '#00f']
​
const res2 = arr2.reduce(function(arr, item) {
    arr.push(item.color);
    return arr;
}, [])
console.log(res2)
// 数组的去重
const arr3 = [1, 3, 2, 1, 5, 10, 5, 8]
​
const res3 = arr3.reduce(function(arr, item) {
    !arr.includes(item) && arr.push(item)
    return arr;
}, [])
console.log(res3)

欢迎小伙伴们留言补充哟!

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值