前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >19个JavaScript数组常用方法总结

19个JavaScript数组常用方法总结

作者头像
@超人
发布于 2021-03-18 04:00:12
发布于 2021-03-18 04:00:12
34000
代码可运行
举报
文章被收录于专栏:Vue中文社区Vue中文社区
运行总次数:0
代码可运行

PS: 文末有彩蛋

数组基本操作可以归纳为 增、删、改、查,需要留意的是哪些方法会对原数组产生影响,哪些方法不会

下面对数组常用的操作方法做一个归纳

下面前三种是对原数组产生影响的增添方法,第四种则不会对原数组产生影响

  • push()
  • unshift()
  • splice()
  • concat()
push()

push()方法接收任意数量的参数,并将它们添加到数组末尾,返回数组的最新长度

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let colors = []; // 创建一个数组
let count = colors.push("red", "green"); // 推入两项
console.log(count) // 2
unshift()

unshift()在数组开头添加任意多个值,然后返回新的数组长度

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let colors = new Array(); // 创建一个数组
let count = colors.unshift("red", "green"); // 从数组开头推入两项
alert(count); // 2
splice

传入三个参数,分别是开始位置、0(要删除的元素数量)、插入的元素,返回空数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let colors = ["red", "green", "blue"];
let removed = colors.splice(1, 0, "yellow", "orange")
console.log(colors) // red,yellow,orange,green,blue
console.log(removed) // []
concat()

首先会创建一个当前数组的副本,然后再把它的参数添加到副本末尾,最后返回这个新构建的数组,不会影响原始数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let colors = ["red", "green", "blue"];
let colors2 = colors.concat("yellow", ["black", "brown"]);
console.log(colors); // ["red", "green","blue"]
console.log(colors2); // ["red", "green", "blue", "yellow", "black", "brown"]

下面三种都会影响原数组,最后一项不影响原数组:

  • pop()
  • shift()
  • splice()
  • slice()
pop()

pop() 方法用于删除数组的最后一项,同时减少数组的length 值,返回被删除的项

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let colors = ["red", "green"]
let item = colors.pop(); // 取得最后一项
console.log(item) // green
console.log(colors.length) // 1
shift()

shift()方法用于删除数组的第一项,同时减少数组的length 值,返回被删除的项

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let colors = ["red", "green"]
let item = colors.shift(); // 取得第一项
console.log(item) // red
console.log(colors.length) // 1
splice()

传入两个参数,分别是开始位置,删除元素的数量,返回包含删除元素的数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let colors = ["red", "green", "blue"];
let removed = colors.splice(0,1); // 删除第一项
console.log(colors); // green,blue
console.log(removed); // red,只有一个元素的数组
slice()

slice() 用于创建一个包含原有数组中一个或多个元素的新数组,不会影响原始数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let colors = ["red", "green", "blue", "yellow", "purple"];
let colors2 = colors.slice(1);
let colors3 = colors.slice(1, 4);
console.log(colors)   // red,green,blue,yellow,purple
concole.log(colors2); // green,blue,yellow,purple
concole.log(colors3); // green,blue,yellow

即修改原来数组的内容,常用splice

splice()

传入三个参数,分别是开始位置,要删除元素的数量,要插入的任意多个元素,返回删除元素的数组,对原数组产生影响

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let colors = ["red", "green", "blue"];
let removed = colors.splice(1, 1, "red", "purple"); // 插入两个值,删除一个元素
console.log(colors); // red,red,purple,blue
console.log(removed); // green,只有一个元素的数组

即查找元素,返回元素坐标或者元素值

  • indexOf()
  • includes()
  • find()
indexOf()

返回要查找的元素在数组中的位置,如果没找到则返回-1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
numbers.indexOf(4) // 3
includes()

返回要查找的元素在数组中的位置,找到返回true,否则false

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
numbers.includes(4) // true
find()

返回第一个匹配的元素

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const people = [
    {
        name: "Matt",
        age: 27
    },
    {
        name: "Nicholas",
        age: 29
    }
];
people.find((element, index, array) => element.age < 28) // // {name: "Matt", age: 27}

二、排序方法

数组有两个方法可以用来对元素重新排序:

  • reverse()
  • sort()

reverse()

顾名思义,将数组元素方向排列

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let values = [1, 2, 3, 4, 5];
values.reverse();
alert(values); // 5,4,3,2,1

sort()

sort()方法接受一个比较函数,用于判断哪个值应该排在前面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function compare(value1, value2) {
    if (value1 < value2) {
        return -1;
    } else if (value1 > value2) {
        return 1;
    } else {
        return 0;
    }
}
let values = [0, 1, 5, 10, 15];
values.sort(compare);
alert(values); // 0,1,5,10,15

三、转换方法

常见的转换方法有:

join()

join() 方法接收一个参数,即字符串分隔符,返回包含所有项的字符串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let colors = ["red", "green", "blue"];
alert(colors.join(",")); // red,green,blue
alert(colors.join("||")); // red||green||blue

四、迭代方法

常用来迭代数组的方法(都不改变原数组)有如下:

  • some()
  • every()
  • forEach()
  • filter()
  • map()

some()

对数组每一项都运行传入的函数,如果有一项函数返回 true ,则这个方法返回 true

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let someResult = numbers.every((item, index, array) => item > 2);
console.log(someResult) // true

every()

对数组每一项都运行传入的函数,如果对每一项函数都返回 true ,则这个方法返回 true

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let everyResult = numbers.every((item, index, array) => item > 2);
console.log(everyResult) // false

forEach()

对数组每一项都运行传入的函数,没有返回值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
numbers.forEach((item, index, array) => {
    // 执行某些操作
});

filter()

对数组每一项都运行传入的函数,函数返回 true 的项会组成数组之后返回

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let filterResult = numbers.filter((item, index, array) => item > 2);
console.log(filterResult); // 3,4,5,4,3

map()

对数组每一项都运行传入的函数,返回由每次函数调用的结果构成的数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let mapResult = numbers.map((item, index, array) => item * 2);
console.log(mapResult) // 2,4,6,8,10,8,6,4,2
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Vue中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JavaScript(五)
这一篇,我们讲讲 JavaScript 引用类型中的 Object、Array 和 Date。 在 ECMAScript 中,引用类型是一种数据结构,用于将数据和功能组织在一起。它也常被称为类,但这种称呼并不妥当。尽管 ECMAScript 从技术上讲是一门面向对象的语言,但它不具备传统的面向对象语言所支持的类和接口等基本结构。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。 对象是某个特定引用类型的实例,新对象是使用 new 操作符后跟一个构造函数来创建的。构造函数本身就是一个函数,其目的是创建新对象。如下:
1ess
2021/10/29
9130
关于JavaScript数组,看这篇就ok了
数组是复杂的变量,允许我们在一个变量名下存储多个值或一组值。JavaScript 数组可以存储任何有效值,包括字符串、数字、对象、函数,甚至其他数组,因此可以创建更复杂的数据结构,例如对象数组或数组数组。
徐建国
2022/04/27
7880
JavaScript编码之路 【JavaScript之操作数组、字符串方法汇总】
数组基本操作可以归纳为增、删、改、查,需要留意的是哪些方法会对原数组产生影响,哪些方法不会
HelloWorldZ
2024/03/20
2040
JavaScript编码之路 【JavaScript之操作数组、字符串方法汇总】
vue改写数组方法_vue数组添加和删除
2. pop() 从数组的尾部删除一个元素(删且只删除一个元素),返回被删除的元素
全栈程序员站长
2022/11/04
1.5K0
vue改写数组方法_vue数组添加和删除
JavaScript数组创建及常见方法汇总(修订版)
插入:可以向指定位置插入任意数量的元素,需要提供3个参数:起始位置、0(要删除的元素数量)、插入的元素
用户1272076
2019/03/26
4000
JavaScript——数组
var colors = ["orange", "blue", "1", 2, 3]; //删除 colors.splice(0, 1); console.log("删除:" + colors.toString());//删除:blue,1,2,3 //插入 colors.splice(1, 0, "a", "b", "c"); console.log("插入:" + colors.toString());//插入:blue,a,b,c,1,2,3 //替换 colors.splice(7, 0, "d").toString() console.log("替换:" + colors.toString());//替换:blue,a,b,c,1,2,3,d
喝茶去
2019/04/16
9700
JavaScript之引用类型
  Object类型是JavaScript中使用最多的一种类型。虽然Object的实例不具备多少功能,但对于在应用程序中存储和传输数据而言,它确实是非常理想的选择。
用户6182664
2019/12/02
1.4K0
一篇文章完全掌握 JavaScript 数组操作[每日前端夜话0x87]
可以用被称为方法的多个操作来操作数组。这些方法允许我们对数组进行添加、删除、修改挤执行更多操作。
疯狂的技术宅
2019/06/20
1.1K0
一篇文章完全掌握 JavaScript 数组操作[每日前端夜话0x87]
JavaScript集合引用类型 - Array
使用数组字面量初始化数组时,可以使用一串逗号来创建空位(hole),es6规范每个空位的值为undefined
崔哥
2022/05/25
5350
【说站】JavaScript数组splice的三种使用
1、删除,可以删除任何数量的项目。只需指定两个参数。要删除的第一项的位置和要删除的项目数。
很酷的站长
2022/11/24
5730
【说站】JavaScript数组splice的三种使用
盘点JavaScript哪些常用的数组对象
上一篇中我们盘点了 js 哪些最常用的内置对象,对Math、random以及Date对象进行了详细的讲解,这三个对象在往后的工作中也是发挥着举足轻重的位置,都是非常常用的对象,可以自己在编辑器中多加练习
玖柒的小窝
2021/12/08
2K0
盘点JavaScript哪些常用的数组对象
js数组常用方法详解
concat()方法可以在现有数组全部元素基础上创建一个新数组,它首先会创建一个当前数组的副本,然后再把它的参数添加到副本末尾,最后返回这个新构建的数组。如果传入一个或多个数组,则 concat()会把这些数组的每一项都添加到结果数组。如果参数不是数组,则直接把它们添加到结果数组末尾:
IT工作者
2022/05/12
1.5K0
Array类型
Array也是ECMAScript中常用类型之一,其特点是数组中的每一项都可以保存任何类型的数据,数组的大小可以动态调整。
河岸飞流
2019/08/09
7560
javascript对数组的基本操作
创建数组有两种方法,一个是通过new方法来创建,另一个就是直接通过字面量来创建,看网上有说通过new关键字来创建数组对象要比直接通过字面量来创建数组耗内存,这个我没有实际测试过,个人感觉在小数据量的时候两者之间的差距是相同的。我个人比较倾向于使用字面量来创建,方便简洁。
OECOM
2020/07/02
3910
JavaScript对象和数组
在JavaScript中对象是一种数据结构,用于将数据和功能组织在一起,描述一类对象所具有的属性和方法。 对象是某个特定类型的实例。新对象是new操作符后跟一个关键字来实现的。构造函数本身就是一个函数,用于创建新对象。 var person = new Object();这行代码创建了一个Object的实例,并将值保存了变量person中。 创建对象的方式有两种,一种是通过Object函数来创建。 var animal = new Object(); animal.eat=f
水击三千
2018/02/27
1.6K0
通过事例重温一下常见的 JS 中 15 种数组操作(备忘清单)
数组是 JS 中广泛使用的数据结构。数组对象提供了大量有用的方法,如array. forEach()、array.map()等来操作数组。
前端达人
2019/12/24
1.2K0
ES6 数组方法归纳整理
Array.from() 可接收三个参数,第一个参数为类数组对象,第二个参数为映射函数,如果使用了映射函数,可以传第三个参数表示映射函数的this值。
全栈程序员站长
2022/06/27
5940
Javascript中的数组
数组的定义: var colors = new Array(20); var colors = new Array('red');  // ['red'] var colors = ['red', 'green']; 判断变量是不是数组: colors instanceof Array;  //true Array.isArray(colors); //true 将数组转化为字符串: colors.toString(); // 'red,green' colors.join(' ')
宅蓝三木
2018/02/07
3.1K0
JavaScript——数组及操作方法
数组就是一组数据的集合,javascript 中,数组里面的数据可以是不同类型的数据,好比 python 里面的列表。
落雨
2022/04/28
26.5K0
【Java 进阶篇】JavaScript Array数组详解
当我们编写JavaScript代码时,经常需要处理一组数据。JavaScript中的数组(Array)是一种用于存储多个值的数据结构,它提供了许多方法和功能,使我们能够方便地操作这些数据。在本篇博客中,我们将详细探讨JavaScript数组,包括如何创建、操作、遍历和使用数组。
繁依Fanyi
2023/10/19
2340
相关推荐
JavaScript(五)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文