js 常用数组数组方法总结1 拼接截取转换1 concat()
作用:方法用于连接两个或多个数组改变原数组:否返回值:拼接后的新数组参数:可以是具体值,也可以是一个数组
const arr1 = [2, 3, 4];const arr2 = [6, 7, 8]; const newArr = arr1.concat('a', arr2, 9);console.log(arr1); // [2, 3, 4] console.log(newArr); // [2, 3, 4, 'a', 6, 7, 8, 9]复制代码
另外 toString() y也可以 直接转字符串2 join()
作用:数组转字符串 改变原数组:否返回值:转换后的新数组参数:传入的参数作为分隔符
let arr = [1, 2, 3]console.log(arr.join('-'))//1-2-3console.log(arr) [1,2,3]复制代码
3 slice()作用:取数组元素 改变原数组:否返回值:新数组参数:数值 无:截取整个数据组 返回截取的数组1个:以该值为索引 ,截取包括该索引及之后的元素 返回截取的数组2个:slice(a,b) 截取 [a,b)的元素 返回截取的数组
console.log([1, 2, 3].slice(1, 2))// 2复制代码
2 增删改查及堆栈方法4 splice()改变原数组:是 用法有很多 传参也比较麻烦 最常用的有:1个参数 a 删除 [a, ∞) 的元素 返回删除部分数组2个 (a,b) 删除 包含索引a 开始往后 b 个元素 返回删除部分数组
let arr = [1, 2, 3, 4]console.log(arr.splice(1, 2)) // [2,3 ]console.log(arr) // [1, 4]复制代码
多个: (a,b,x1,x2…) 删除 包含索引a 开始往后 b 个元素 ,并在原来删除位置插入x1,x2…xnconst arr = [1, 2, 3, 4]console.log(arr.splice(1, 2, 'a', 'b', 'c')) // [2,3 ]console.log(arr) // [1,a, b, c, 4]复制代码
5 pop()作用:用于删除数组的最后一个元素并返回删除的元素 。改变原数组:是
6 push()
作用:从数组末尾向数组添加元素,可以添加一个或多个元素 。改变原数组:是返回值: 数组长度
const arr = [1, 2, 3, 4]console.log(arr.push('a', 'b', 'c')) // 7console.log(arr) // [1, 2, 3, 4, 'a', 'b', 'c']复制代码
7 unshift()作用:可向数组的开头添加一个或更多元素,并返回新的长度 。改变原数组:是
8 shift()
作用:用于删除数组的最开头一个元素并返回删除的元素改变原数组:是
3 排序方法9 reverse()
作用:将数组反序 返回新数组 。改变原数组:是
10 sort(compare)
排序顺序可以是字母或数字,并按升序或降序 。默认排序顺序为按字母升序 。参数 : 是一个函数 没有参数(没指明函数) 按升序排列若指明函数 按函数中的返回值来
//比较函数—升序let compare = (x, y) => {if (x < y) {return -1} else if (x > y) {return 1} else {return 0}}//比较函数—降序let compare = (x, y) => {if (x < y) {return 1} else if (x > y) {return -1} else {return 0}}//简化//升序arr.sort((a, b) => { return a - b;})//降序arr.sort((a, b) => {return b - a;复制代码
按照函数返回值 :返回值:小于 0 ,那么 a 会被排列到 b 之前 。等于 0 , a 和 b 的相对位置不变 。大于 0 , b 会被排列到 a 之前 由此也可以实现数组乱序function compare(a, b) {return 0.5 - Math.random()}let arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']arr.sort(compare)复制代码
3 迭代(或遍历)方法11 forEach()用于调用数组的每个元素,并将元素传递给回调函数 。该方法没有且不能手动指定返回值
let sum = 0const arr = [1, 2, 3, 4]arr.forEach((item, index, arr) => {sum= v})console.log(sum) //10复制代码
12 every()用于判断数组中每一项是否都满足条件,只有所有项都满足条件,才会返回true 。
const arr = [1, 2, 3, 4]let res = arr.every((item, index, arr) => {return item > 2})console.log(res)//false复制代码
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 小编分享百度网盘删除通讯录的具体步骤。
- oppor7plus恢复出厂设置
- 遵义有哪些小吃
- 华为畅享9s返回键在哪 华为畅享9s返回键怎么设置
- 闲鱼高仿避开排查技巧有哪些问题
- 淘宝直播间新增选品机制有哪些内容
- 清吧怎么装修?
- 120平米的房子怎么装修?
- 摩托车顶杆机和链条机有什么区别
- 格力5G手机悄然上架 我们有几个问题要问董大姐。