js中数组的常用方法

1. push()

        语法: 数组.push(要追加的数据)
        作用: 向数组的末尾追加数据
        返回值: 追加数据后数组最新的长度

var arr=[1,2,3,4,5]
var res = arr.push('你好')
console.log('追加之后:'+ arr)//追加之后:1,2,3,4,5,你好
console.log('返回值:'+ res)//返回值:6

2. pop()

        语法: 数组.pop()
        作用: 删除数组的最后一个数据
        返回值: 被删除的数据

var arr=[1,2,3,4,5]
var res = arr.pop()
console.log('追加之后:'+ arr)//追加之后:1,2,3,4,5
console.log('返回值:'+ res)//返回值:5

3. unshift()

        语法: 数组.unshift(要插入的数据)
        作用: 在数组的最前面插入一个数据
        返回值: 插入数据后数组最新的长度

var arr = [1, 2, 3, 4, 5]
var res = arr.unshift('hello')
console.log('插入之后 : ', arr)//插入之后 :  (6) ['hello', 1, 2, 3, 4, 5]
console.log('返回值 : ', res)//返回值 :  6

4. shift()

        语法: 数组.shift()
        作用: 删除数组最前面一个数据
        返回值: 被删除的数据

var arr = [1, 2, 3, 4, 5]
var res = arr.shift()
console.log('删除之后 : ', arr)//删除之后 :  (4) [2, 3, 4, 5]
console.log('返回值 : ', res)//返回值 :  1

5. reverse()

        语法: 数组.reverse()
        作用: 反转数组
        返回值: 反转好的数组

var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr)//原始数组 :  (5) [1, 2, 3, 4, 5]
var res = arr.reverse()
console.log('反转之后 : ', res)//反转之后 :  (5) [5, 4, 3, 2, 1]

6. splice()

        语法: 数组.splice(开始索引, 多少个, 要插入的数据)
                 要插入的数据: 选填参数, 可以不写
        作用: 删除数组中部分数据, 并选择性的插入数据
        技巧: 从哪删除, 从哪插入                                                                                                                返回值: 是一个新数组, 内部存储着删除的所有数据

var arr = [1, 2, 3, 4, 5,]
console.log('原始数组 : ', arr)//原始数组 :  (5) [1, 2, 3, 4, 5]
var res = arr.splice(2, 2)
// 表示从[2] 开始删除 2 个数据
console.log('删除之后的数组',arr);//删除之后的数组 (3) [1, 2, 5]
console.log('返回值',res);//返回值 (2) [3, 4]

var arr1=[1,2,3,4,5]
var res1 = arr1.splice(2, 2, '你好')
// 表示从[2] 开始删除 2 个数据, '你好' 这个数据插入到[2] 的位置
console.log('删除之后的数组',arr1);//删除之后的数组 (4) [1, 2, '你好', 5]
console.log('返回值',res1);//返回值 (2) [3, 4]

7. sort()

        语法:
                数组.sort()
                数组.sort(function (a, b) { return a - b })
                数组.sort(function (a, b) { return b - a })
        作用: 对数组进行排序操作
        返回值: 排序好的数组

var arr = [3,5,8,11,2,7]
console.log('原始数组 : ', arr)//原始数组 :  (6) [3, 5, 8, 11, 2, 7]
// 排序方式1: 按照字符集顺序进行排序
var res = arr.sort()
console.log('排序之后 : ', arr)排序之后 :  (6) [11, 2, 3, 5, 7, 8]
// 排序方式2: 按照升序进行排列
var res1 = arr.sort(function (a, b) { return a - b })
console.log('排序之后 : ', arr)//排序之后 :  (6) [2, 3, 5, 7, 8, 11]
// 排序方式3: 按照降序进行排列
var res2 = arr.sort(function (a, b) { return b - a })
console.log('排序之后 : ', arr)//排序之后 :  (6) [11, 8, 7, 5, 3, 2]

8. concat()

        语法: 数组.concat(数据, 数据2, ...)
        作用: 把所有参数连接在数组内
        返回值: 连接好的新数组

var arr = [1,2,3,4,5]
console.log('原始数组 : ', arr)//原始数组 :  (5) [1, 2, 3, 4, 5]
var res = arr.concat([6,7,8])
console.log('concat 之后 : ', arr)//concat 之后 :  (5) [1, 2, 3, 4, 5]
console.log('返回值 : ', res)//返回值 :  (8) [1, 2, 3, 4, 5, 6, 7, 8]

9. join()

        语法: 数组.join(连接符)
                连接符默认可以不写, 不写默认使用 逗号(,)
        作用: 用连接符把数组内的每一个数据连接成字符串
                返回值: 连接好的字符串

var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr)//原始数组 :  (5) [1, 2, 3, 4, 5]
var res = arr.join(' ^_^ ')
console.log('join 之后 : ', arr)//join 之后 :  (5) [1, 2, 3, 4, 5]
console.log('返回值 : ', res)//返回值 :  1 ^_^ 2 ^_^ 3 ^_^ 4 ^_^ 5
var res1 = arr.join()
console.log('join 之后 : ', arr)//join 之后 :  (5) [1, 2, 3, 4, 5]
console.log('返回值 : ', res1)//返回值 :  1,2,3,4,5

10. slice()

        语法: 数组.slice(开始索引, 结束索引)
                参数都是选填
                开始索引默认值是 0
                结束索引默认值是 数组的 length
        特点:
                包前不包后, 包含开始索引, 不包含结束索引
                可以填写负整数, 表示倒数第几个
                作用: 截取数组
                不会改变原始数组, 而是把部分数据复制一份拿出来
                返回值: 一个新数组
                内部是截取出来的所有数据

var arr = [1, 2, 3, 4, 5, 6]
console.log('原始数组 : ', arr)//原始数组 :  (6) [1, 2, 3, 4, 5, 6]
var res = arr.slice(2, 5)
// 表示从 [2] 截取到 [5], 包含 [2] 位置数据, 不包含 [5] 位置数据
var res1 = arr.slice(2, -2)
console.log('返回值 : ', res)//返回值 :  (3) [3, 4, 5]
console.log('返回值 : ', res1)//返回值 :  (2) [3, 4]

11. indexOf()

        语法: 数组.indexOf(数据, 开始索引)
                 开始索引选填, 默认是 0
        作用: 检索数据在数组中第一次出现的索引位置
        返回值:
            如果数组中有改数据, 那么就是该数据第一次出现的位置
            如果数组中没有该数据, 那么就是 -1

var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr)//原始数组 :  (5) [1, 2, 3, 4, 5]
// 在 arr 数组中检索 4 这个数据
var res = arr.indexOf(4)
// 因为第二个参数没写, 默认从[0] 开始检索
console.log('返回值 : ', res)//返回值 :  3
var res1 = arr.indexOf(4, 2)
// 表示从[2] 位置开始向后检索
console.log('返回值 : ', res1)//返回值 :  3
var res2 = arr.indexOf(4, 8)
console.log('返回值 : ', res2)//返回值 :  -1

12. lastIndexOf()

        和 indexOf 使用方法一模一样
        区别, 从后向前检索

var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr)//原始数组 :  (5) [1, 2, 3, 4, 5]
// 在 arr 数组中检索 4 这个数据
var res = arr.lastIndexOf(3)
// 因为第二个参数没写, 默认从[4] 开始检索
console.log('返回值 : ', res)//返回值 :  2
var res1 = arr.lastIndexOf(3, 1)
// 表示从[1] 位置开始向前检索
console.log('返回值 : ', res1)//返回值 :  -1
var res2 = arr.lastIndexOf(3, 4)
// 表示从[4] 位置开始向前检索
console.log('返回值 : ', res2)//返回值 :  2

13. forEach()

        语法: 数组.forEach(function (item, index, origin) { })                                                                      作用: 遍历数组                                                                                                                                返回值: 没有 undefined

var arr = [1, 2, 3, 4, 5]
arr.forEach(function (item, index, origin) {
    console.log('我执行了', item, index, origin)
})
//我执行了 1 0 (5) [1, 2, 3, 4, 5]
//我执行了 2 1 (5) [1, 2, 3, 4, 5]
//我执行了 3 2 (5) [1, 2, 3, 4, 5]
//我执行了 4 3 (5) [1, 2, 3, 4, 5]
//我执行了 5 4 (5) [1, 2, 3, 4, 5]

14. map()

        语法: 数组.map(function (item, index, origin) {})
        作用: 遍历并映射数组
        返回值: 一个和原始数组长度一样的新数组, 新数组内的每一项是原始数据映射结果
        注意: return 的形式书写 映射条件

var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr)//原始数组 :  (5) [1, 2, 3, 4, 5]
var res = arr.map(function (item) {
    // 以 return 的形式书写映射条件
    return item * 10
})
console.log('返回值 : ', res)//返回值 :  (5) [10, 20, 30, 40, 50]

15. filter()

        语法: 数组.filter(function (item, index, origin) {})
        作用: 遍历并过滤数组
        返回值: 一个新数组, 内部是原始数组内满足条件的项
        注意: 以 return 的形式书写 过滤条件

var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr)//原始数组 :  (5) [1, 2, 3, 4, 5]
var res = arr.filter(function (item) {
    return item % 2 === 0
})
console.log('返回值 : ', res)//返回值 :  (2) [2, 4]

16. find()

        语法: 数组.find(function (item, index, origin) {})
        作用: 在数组内查找满足条件的第一项
        返回值: 找到的该项数据
        注意: 以 rteurn 的形式书写 查找条件

var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr)//原始数组 :  (5) [1, 2, 3, 4, 5]
var res = arr.find(function (item) {
    return item % 2 === 0
})
console.log('返回值 : ', res)//返回值 :  2

17. findIndex()

        语法: 数组.findIndex(function (item, index, origin) {})
        作用: 在数组内查找满足条件的第一项的索引
        返回值: 找到的该项数据的索引
        注意: 以 return 的形式书写 查找条件

var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr)//原始数组 :  (5) [1, 2, 3, 4, 5]
var res = arr.findIndex(function (item) {
    return item % 2 === 0
})
console.log('返回值 : ', res)//返回值 :  1

18. every()

        语法: 数组.every(function (item, index, origin) {})
        作用: 判断数组内是不是每一个都满足条件
        返回值: 是一个布尔值
                true, 说明数组内每一项都满足条件
                false, 说明数组内至少有一项不满足条件

var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr)//原始数组 :  (5) [1, 2, 3, 4, 5]
var res = arr.every(function (item) {
    return item <= 5
})
console.log('返回值 : ', res)//返回值 :  true
var res1 = arr.every(function (item) {
    return item <= 4
})
console.log('返回值 : ', res1)//返回值 :  false

19. some()

        语法: 数组.some(function (item, index, origin) {})
        作用: 判断数组内是不是有某一个满足条件
        返回值: 是一个布尔值
        true, 说明数组内至少有一个满足条件
        false, 说明数组内所有项都不满足条件

var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr)//原始数组 :  (5) [1, 2, 3, 4, 5]
var res = arr.some(function (item) {
    return item <= 3
})
console.log('返回值 : ', res)//返回值 :  true
var res1 = arr.some(function (item) {
    return item >= 6
})
console.log('返回值 : ', res1)//返回值 :  false

20. reduce()

        语法: 数组.reduce(函数, 初始值)
        初始值选填, 默认是数组内 [0] 哪一项数据
        作用: 叠加
        返回值: 叠加结果

var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr)//原始数组 :  (5) [1, 2, 3, 4, 5]
var res = arr.reduce(function (prev, item, index, origin) {
    console.log(prev, item)
    return prev + item
}, 0)
console.log('返回值 : ', res)
// 原始数组 :  (5) [1, 2, 3, 4, 5]
//             0 1
//             1 2
//             3 3
//             6 4
//             10 5
//         返回值 :  15

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值