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
相关推荐
ada7_15 分钟前
LeetCode(python)——148.排序链表
python·算法·leetcode·链表
点云SLAM25 分钟前
点云配准算法之-Voxelized GICP(VGICP)算法
算法·机器人·gpu·slam·点云配准·vgicp算法·gicp算法
꒰ঌ小武໒꒱1 小时前
RuoYi-Vue 前端环境搭建与部署完整教程
前端·javascript·vue.js·nginx
资深web全栈开发2 小时前
LeetCode 3625. 统计梯形的数目 II
算法·leetcode·组合数学
橘颂TA2 小时前
【剑斩OFFER】算法的暴力美学——外观数列
算法·leetcode·职场和发展·结构与算法
Liangwei Lin2 小时前
洛谷 P1434 [SHOI2002] 滑雪
算法
c#上位机2 小时前
halcon图像增强之自动灰度拉伸
图像处理·算法·c#·halcon·图像增强
rit84324992 小时前
压缩感知信号恢复算法:OMP与CoSaMP对比分析
数据库·人工智能·算法
局i2 小时前
Vue 中 v-text 与 v-html 的区别:文本渲染与 HTML 解析的抉择
前端·javascript·vue.js
fruge3 小时前
接口 Mock 工具对比:Mock.js、Easy Mock、Apifox 的使用场景与配置
开发语言·javascript·ecmascript