Javascript数组API

Js数组 API简述

1.pop()尾部出栈,弹出数组中最后一个元素,并返回这个元素

let arr = [1,2,3,4,5,6,4,7]`
console.log('pop():'+arr.pop()) 

2.push,尾部入栈

arr.push(7,8,9)
console.log('push():'+arr)

3.shift弹出数组的第一个元素,并返回这个元素

let  result = arr.shift()
console.log('shiift():'+result)

4.unshift():在数组开头添加一个或多个元素,并返回新的长度

arr.unshift(-1,0)
console.log('unshif():'+arr)

5.splice(x,n,…):从x位置开始截取,截取n个并返回被截取的元素,第三个参数是截取完了需要添加哪些元素,从x的位置开始添加,从数组的第1位开始截取,截取3位并返回,再从第1位开始添加‘x’‘y’‘z’

let res = arr.splice(0,1)

截取第0个元素,删除arr中第0个元素

console.log(res)
let result1 = arr.splice(1,3,'x','y','z')
console.log('当前数组'+arr)
console.log('被截取元素:'+result1)

6…reverse():逆转数组的顺序

console.log('逆序结果'+arr.reverse())

7.sort排序

let array = [1,2,7,3,4,5,6]
console.log('sort从小到大排序结果:'+array.sort())

sort还可以接受一个函数作为参赛,该函数接受两个参数 a,b
如果a < b就返回一个负数,a就排在b的前面
如果a === b就返回0,顺序不变
如果a > b就返回一个正数,a就排在b的后面

let arr = [1,6,4,3,5,2] 
arr.sort((a, b) => {
    if (a < b) {
        return -1
    }else if (a === b) {
        return 0
    }else{
        return 1
    }
})
console.log(arr) // [1, 2, 3, 4, 5, 6]

可以简写为

let arr = [1,6,4,3,5,2] 
arr.sort((a, b) => a - b)
console.log(arr) // [1, 2, 3, 4, 5, 6]

同理,返回b - a就可以倒序排列

let arr = [1,6,4,3,5,2] 
arr.sort((a, b) => b - a)
console.log(arr) // [6, 5, 4, 3, 2, 1]

8.concat() 返回一个新数组,把传入的数组,或者元素+数组合并成一个新的数组,返回这个新数组

let arr = [1,2,3]
let arr2 = [4,5,6] 
let newArr = arr.concat(arr2)
console.log(newArr) // [1, 2, 3, 4, 5, 6]

9.slice():截取数组,不会改变原数组,返回一个新数组
从数组的第0位截取到数组的第3位

let arr = [1,2,3,4,5,6]
let result = arr.slice(0,3)
console.log(result) // [1, 2, 3]

如果不给第二个参数,那么就从第1个参数的位置截取到数组的最后

let arr = [1,2,3,4,5,6]
let result = arr.slice(3)
console.log(result) // [4, 5, 6]

10.join():把数组中的元素连接成一个字符串并返回,不会改变原数组
可以选择用什么作为分隔符,空字符串就代表没有分隔符

let arr = [1,2,3,4,5,6]
let result = arr.join('')
console.log(arr) // [1, 2, 3, 4, 5, 6]
console.log(result) // '123456'

11.indexOf():查找元素在数组中第一次出现时的索引,如果没有就返回-1

let arr = [1,2,3,4,5,6,1,2,3,4,5,6]
let result = arr.indexOf(3)
console.log(result) // 2

12.LastIndexOf():查找元素在数组中最后一次出现时的索引,如果没有就返回-1

let arr = [1,2,3,4,5,6,1,2,3,4,5,6]
let result = arr.indexOf(3)
console.log(result) // 8

数组遍历方法
13.forEarm():传入一个函数,把数组的每一项作为函数的参数被调用,不改变原数组

let arr = [1, 2, 3, 4, 5, 6];
arr.forEach((item) => {
    console.log(item) // 依次输出1到6
});

14.map():传入一个函数,把数组的每一项作为函数的参数被调用,然后用函数每次的返回值组成新的数组并返回,不改变原数组

let arr = [1, 2, 3, 4, 5, 6];
let newArr = arr.map((item) => item*item); // 箭头函数的简写,不用写return
console.log(arr) // [1, 2, 3, 4, 5, 6]
console.log(newArr) // [1, 4, 9, 16, 25, 36]

15.filter():传入一个函数,把数组的每一项作为函数的参数被调用,在函数内部判断符合条件的每一项,把它们组成新的数组并返回,不改变原数组

let arr = [1, 2, 3, 4, 5, 6];
let newArr = arr.filter((item) => item%2 === 0); // 取数组中的偶数
console.log(arr) // [1, 2, 3, 4, 5, 6]
console.log(newArr) // [2, 4, 6]

16.reduce():接受两个参数,函数和初始值,其中函数接受两个参数,那个初始值和数组的每一项,每次用初始值对数组的每一项进行操作并返回这个新的初始值(函数返回),不改变原数组

初始值为0,sum代表了初始值,每次用sum+= item,最后初始值为21并被返回(reduce返回)

let arr = [1, 2, 3, 4, 5, 6];
let result = arr.reduce((sum, item) => sum+=item,0);
console.log(arr) // [1, 2, 3, 4, 5, 6]
console.log(result) // 21
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值