JS中数组有哪些方法

JS中数组常用方法

数组是编程中常用的数据结构,提供了许多方法来操作和处理数据。以下是一些常见的数组方法及其功能:

1、判断和转换方法

1.1、isArray(): 判断参数是否为数组,返回布尔值。

javascript 复制代码
 Array.isArray([1, 2, 3]); // true
 Array.isArray('string'); // false

1.2、toString(): 将数组转换为字符串。

javascript 复制代码
 [1, 2, 3].toString(); // "1,2,3"

1.3、valueOf(): 返回数组本身。

javascript 复制代码
 [1, 2, 3].valueOf(); // [1, 2, 3]

2、添加和删除元素

2.1、push(): 在数组末尾添加一个或多个元素,返回新数组的长度。

javascript 复制代码
let arr = [1, 2]; 
arr.push(3);        //3
console.log(arr);  // [1, 2, 3]

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

javascript 复制代码
let arr = [1, 2]; 
arr.unshift(0);    //3 
console.log(arr); // [0, 1, 2]

2.3、pop(): 删除数组末尾的元素,返回被删除的元素。

javascript 复制代码
let arr = [1, 2, 3];
arr.pop();         //3
console.log(arr); // [1, 2]

2.4、shift(): 删除数组开头的元素,返回被删除的元素。

javascript 复制代码
let arr = [1, 2, 3];
arr.shift(); //1
console.log(arr); // [2, 3]

3、修改和排序元素

3.1、reverse(): 翻转数组。

javascript 复制代码
let arr = [1, 2, 3];
arr.reverse(); // [3, 2, 1]

3.2、sort(): 对数组进行排序。

javascript 复制代码
let arr = [3, 1, 2]; 
arr.sort(); // [1, 2, 3]

3.3、splice(): 在指定位置删除或添加元素。

javascript 复制代码
let arr = [1, 2, 3];
arr.splice(1, 1, 'a'); // [2] 
console.log(arr); // [1, 'a', 3]

4、连接和切割元素

4.1、concat(): 合并多个数组,返回新数组。

javascript 复制代码
let arr1 = [1, 2];
let arr2 = [3, 4]; 
let arr3 = arr1.concat(arr2); // [1, 2, 3, 4]

4.2、join(): 用指定的分隔符将数组元素拼接成字符串。

javascript 复制代码
let arr = [1, 2, 3];
arr.join('-'); // "1-2-3"

4.3、slice(): 截取数组的一部分,返回新数组。

javascript 复制代码
let arr = [1, 2, 3, 4]; 
arr.slice(1, 3); // [2, 3]

5、查找和过滤元素

5.1、indexOf(): 返回元素在数组中第一次出现的索引。

javascript 复制代码
let arr = [1, 2, 3, 2];
arr.indexOf(2); // 1

5.2、lastIndexOf(): 返回元素在数组中最后一次出现的索引。

javascript 复制代码
let arr = [1, 2, 3, 2];
arr.lastIndexOf(2); // 3

5.3、filter(): 过滤数组中满足条件的元素,返回新数组。

javascript 复制代码
let arr = [1, 2, 3, 4];
arr.filter(x => x > 2); // [3, 4]

5.4、find(): 查找数组中满足条件的第一个元素,返回该元素。

javascript 复制代码
let arr = [1, 2, 3, 4];
arr.find(x => x > 2); // 3

5.5、findIndex(): 查找数组中满足条件的第一个元素的索引。

javascript 复制代码
let arr = [1, 2, 3, 4]; 
arr.findIndex(x => x > 2); // 2

5.6、includes(): 判断数组是否包含某个元素。

javascript 复制代码
let arr = [1, 2, 3];
arr.includes(2); // true

6、遍历和操作元素

6.1、map(): 对数组中的每个元素执行指定操作,返回新数组。

javascript 复制代码
let arr = [1, 2, 3];
arr.map(x => x * 2); // [2, 4, 6]

6.2、forEach(): 遍历数组,对每个元素执行指定操作。

javascript 复制代码
let arr = [1, 2, 3]; 
arr.forEach(x => console.log(x)); // 1 2 3

6.3、reduce(): 累加数组中的元素,返回最终结果。

javascript 复制代码
let arr = [1, 2, 3]; 
arr.reduce((sum, x) => sum + x, 0); // 6

6.4、every(): 判断数组中的所有元素是否都满足条件。

javascript 复制代码
let arr = [1, 2, 3]; 
arr.every(x => x > 0); // true

6.5、some(): 判断数组中是否有元素满足条件。

javascript 复制代码
let arr = [1, 2, 3];
arr.some(x => x > 2); // true
相关推荐
梦醒沉醉6 小时前
5、表达式与运算符
javascript
hansang_IR7 小时前
【题解】P5364 [SNOI2017] 礼物
c++·线性代数·算法
Tisfy7 小时前
LeetCode 3871.统计范围内的逗号 II:每次算一个逗号
数学·算法·leetcode·题解
小O的算法实验室7 小时前
IEEE TEVC,基于K-means与DQN辅助元启发式算法的多目标两栖无人艇调度模型
算法·kmeans·启发式算法
Q一件事7 小时前
ArcGIS中TypeError: can‘t multiply sequence by non-int of type ‘str‘错误
前端·javascript·arcgis
mmmmath_37 小时前
LeetCode.350.两个数组的交集II
算法
Ivanqhz7 小时前
图是“拓扑 + 类型 + 形状“的世界
算法·决策树·机器学习·php·集成学习
find1star8 小时前
LeetCode 54:螺旋矩阵——用四个边界模拟矩阵收缩
java·算法·leetcode·边缘计算·学习方法
WeiXin_DZbishe8 小时前
基于springboot大学生提问箱系统-计算机毕设【课程设计】72593
javascript·vue.js·spring boot·vscode·python·node.js·php
z_mazin8 小时前
逆向一种私有二进制序列化格式:从零到字节级解析器
网络·python·网络协议·算法·rpc