JavaScript中,数组常用的API
1.修改原数组的API1.1.pop():弹出数组中最后一个元素,并返回这个元素let arr = [1,2,3,4,5,6]let result = arr.pop()console.log(arr) // [1, 2, 3, 4, 5]console.log(result) // 61.2.push():添加一个或多个元素到数组末尾,并返回新的长度let arr = [1,2,3,4,5,6]
·
1.修改原数组
//1. pop(): 弹出数组中最后一个元素,并返回这个元素
let arr = [1,2,3,4,5]
let newArr = arr.pop()
console.log(arr) // [1, 2, 3, 4]
console.log(newArr) // 5
//2. push(): 添加一个或多个元素到数组末尾,并返回新的长度
let arr = [1,2,3,4,5]
arr.push(6,7)
console.log(arr) // [1, 2, 3, 4, 5, 6, 7,]
console.log(arr.length) // 7
//3. shift():弹出数组的第一个元素,并返回这个元素
let arr = [1,2,3,4,5]
let newArr = arr.shift()
console.log(arr) // [2, 3, 4, 5]
console.log(newArr) // 1
//4. unshift():在数组开头添加一个或多个元素,并返回新的长度
let arr = [1,2,3,4,5]
arr.unshift(-1,0)
console.log(arr) // [-1, 0, 1, 2, 3, 4, 5]
console.log(arr.length) // 7
//5. splice(x,n,s): 从x位置开始截取,截取n个并返回被截取的元素,第三个参数是截取完了需要添加哪些元素,从x的位置开始添加
let arr = [1,2,3,4,5]
let newArr = arr.splice(1,3,'two','three','four')
console.log(arr) // [1, 'two', 'three', 'four', 5]
console.log(newArr) // [2, 3, 4]
document.write('<h1>'+ newArr + '</h1>');
//6. reverse(): 逆转数组的顺序
let arr = [1,2,3,4,5]
let newArr = arr.reverse()
console.log(arr) // [5, 4, 3, 2, 1]
console.log(newArr) // [5, 4, 3, 2, 1]
//7. sort(): 给数组排序(默认从小到大)
let arr = [5, 2, 3, 4, 1]
arr.sort()
console.log(arr) // [1,2,3,4,5]
2.返回新数组,不会改变原数组
//1. concat() : 把传入的数组,或者元素+数组合并成一个新的数组,返回这个新数组
let arr1 = [1,2,3]
let arr2 = [4,5,6]
let newArr = arr1.concat(arr2)
console.log(newArr) // [1, 2, 3, 4, 5, 6]
//2. slice() : 截取数组,不会改变原数组
let arr = [1,2,3,4,5]
let newArr = arr.slice(0,3)
console.log(newArr) // [1, 2, 3]
// 如果不给第二个参数,那么就从第1个参数的位置截取到数组的最后
//3. join() : 把数组中的元素连接成一个字符串并返回,不会改变原数组
let arr = [1,2,3,4,5]
let Str1 = arr.join('')
console.log(arr) // [1, 2, 3, 4, 5]
console.log(Str1) // '12345'
let Str2 = arr.join(',')
console.log(Str2) // '1,2,3,4,5'
//4.indexOf():查找元素在数组中第一次出现时的索引,如果没有就返回-1
let arr = [1,2,3,4,5,4,3,2,1]
let num = arr.indexOf(3)
console.log(num) // 2
//5. lastIndexOf(): 查找元素在数组中最后一次出现时的索引,如果没有就返回-1
let arr = [1,2,3,4,5,4,3,2,1]
let num = arr.lastIndexOf(3)
console.log(num) // 6
3.遍历数组
//1. forEarm() : 传入一个函数,把数组的每一项作为函数的参数被调用,不改变原数组
let arr = [1, 2, 3, 4, 5];
arr.forEach((item) => {
console.log(item) // 依次输出 1 ~ 5
});
//2. map() : 传入一个函数,把数组的每一项作为函数的参数被调用,然后用函数每次的返回值组成新的数组并返回,不改变原数组
let arr = [1, 2, 3, 4, 5];
let newArr = arr.map((item) => item*item);
console.log(arr) // [1, 2, 3, 4, 5]
console.log(newArr) // [1, 4, 9, 16, 25]
//3. filter(): 传入一个函数,把数组的每一项作为函数的参数被调用,在函数内部判断符合条件的每一项,把它们组成新的数组并返回,不改变原数组
let arr = [1, 2, 3, 4, 5];
let newArr = arr.filter((item) => item%2 === 0); // 取数组中的偶数
console.log(arr) // [1, 2, 3, 4, 5]
console.log(newArr) // [2, 4]
//4. reduce() : 接受两个参数,函数和初始值,其中函数接受两个参数,那个初始值和数组的每一项,每次用初始值对数组的每一项进行操作并返回这个新的初始值(函数返回),不改变原数组
let arr = [1, 2, 3, 4, 5];
let num = arr.reduce((sum, item) => sum = sum + item,0);
console.log(num) // 15
console.log(arr) // [1, 2, 3, 4, 5]
//初始值设为0, sum是初始值,每次执行sum += item,最后返回最终结果num = 15
更多推荐




所有评论(0)