前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >js数组方法,常用数组Api的基本使用

js数组方法,常用数组Api的基本使用

原创
作者头像
yooooo
修改于 2020-11-02 03:16:48
修改于 2020-11-02 03:16:48
2.1K00
代码可运行
举报
运行总次数:0
代码可运行

1 concat() 连接数组, 返回值是一个添加后的数据, 原数组没改变

场景1 直接添加数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   var arr = [10,20,30,40]
   var arr2 = arr.concat(40,50) 
   console.log(arr)  // [10,20,30,40]
   console.log(arr2)  // [10,20,30,40,40,50]

场景2 添加数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [10,20,30,40] 
var arr2 =arr.concat([50,60])
console.log(arr3)  // [10,20,30,40,50,60]

2 join() 将数组所有元素连接成一个字符串并返回这个字符串,不会改变原数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [10,20,30,40] 
var arr2 = arr.join('=')
console.log(arr)  // [10,20,30,40]
console.log(arr2) // 10=20=30=40

3 pop() 删除数组的最后一个元素 返回值就是最后被删除的元素 会改变原数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [10,20,30,40]
var arr2 = arr.pop()
console.log(arr2)  // 40 
console.log(arr)  // [10,20,30]

4 reverse() 翻转数组 将数组进行翻转 最后一项变为第一项 倒数第二项变为第二项 以此类推 会改变原数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [10,20,30,40] 
arr.reverse()
console.log(arr)  [40,30,20,10]

5 shift()  删除数组的第一个元素 返回值是被删除的元素 会改变原数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [10,20,30,40]
var arr2 = arr.shift()
console.log(arr2)  10 
console.log(arr)   [20,30,40]

6 slice() 查找数组中选定范围的值 返回值是一个数组 不会改变原来的数组

该方法有两个参数 slice( start , end )

第一个参数:start:从那一个下标开始查找 如果为负数则倒着查找

第二个参数: end : 结束位置    start <= 范围 < end

场景一 从下标 1 开始查找 到 下标 2 (不包含下标2)所以返回的就是 【20】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [10,20,30,40]
var arr2 = arr.slice(1,2)
console.log(arr2) // [20]
console.log(arr)  // [10,20,30,40]

场景2 不写结束位置 会返回原数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [10,20,30,40]
var arr2 = arr.slice(0)
console.log(arr2) // [10,20,30,40]
console.log(arr) // [10,20,30,40]

场景3 起始位置为负数 会倒着找 下面代码 从 尾数 开始找 结果如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [10,20,30,40]
var arr2 = arr.slice(-2)  // 从倒数第2个字符起一直到结束
var arr3 = arr.slice(0,-3)  // 从开始一直到倒数第3个字符的前一个字符 
console.log(arr2) // [30,40]
console.log(arr3) // [10,20]

7 splice() 方法用于添加或删除数组中的元素 会改变原来的数组

splice( index , howmany ) 该方法有两个必填参数

参数 1 index表示从什么位置开始添加或删除数组元素

参数 2 howmany 表示删除的元素数量,如果为0,则表示不删除数组元素

其他参数 item1,.....,itemX 添加的参数 可以不写

场景1 删除情况 下面代码 从下标 0 开始删除 删除 1 个元素

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [10,20,30,40]
var arr2 = arr.splice(0,1)  
console.log(arr2); // [10]
console.log(arr);  // [20,30,40]

场景 2 添加情况 下面代码从 2 开始 删除 0 所以没有进行删除 然后从 2 开始进行添加

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [10,20,30,40]
var arr2 = arr.splice(2,0,50,60,70)
console.log(arr2) // [] 
console.log(arr) // [10,20,50,60,70,30,40]

场景 3 删除添加情况 从 0 开始参数 删除2为 之后从0 添加

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [10,20,30,40];
var arr2 = arr.splice(0,2,50,60,70);
console.log(arr2); // [10,20]
console.log(arr)  // [50,60,70,30,40]

8 shift() 删除原数组第一项,并返回删除元素的值,如果数组为空则返回undefined 方法会改变原数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [1,2,3,4]
arr.shift() // [1]
console.log(arr) // [2,3,4]

9 unshift(): 将参数添加到原数组开头,并返回数组的长度 , 会改变原数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [1,2,3,4]
arr.unshift(0) // 5
console.log(arr) // [0,1,2,3,4]

10 sort() 对数组进行排序,从小到大或从大到小 会改变原数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let arr = [2, 10, 50, 5, 4]
    arr.sort((a, b) => {
      return a - b  // 从小到大
    })
console.log(arr) // [2, 4, 5, 10, 50] 
arr.sort((a,b)=>{
   return b-a // 从大到小
})
console.log(arr)  // [50, 10, 5, 4, 2]

11 indexOf()两个参数:1 要查找的项, 2查找的起点索引。其中, 从数组的开头(位置 0)开始向后查找 存在返回位置索引,不存在返回-1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [2, 10, 50, 5, 4]
console.log(arr.indexOf(50)) // 2 
console.log(arr.indexOf(60)) // -1  

12 forEach() 对数组进行遍历循环,对数组中的每一项运行给定函数。这个方法没有返回值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [10,20,30,40]
arr.forEach((item,index)=>{
   console.log(item,index) // item 为每一项  index 为对应下标
})

13 map() 对数组每一项一个给定的函数 返回一个新数组

1 每一项都有return

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.map(function(item){
return item*item;
});
console.log(arr2) // [1, 4, 9, 16, 25]

2 如果某一项没有return 默认为undefined

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.map(function(item){
 if(item>2) return item 
});
console.log(arr2) //  [undefined, undefined, 3, 4, 5]

14 filter() 对数组符合条件的每一项进行过滤, 返回一个新数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 var arr = [10, 20, 30, 40]
    var arr2 = arr.filter(item => {
      if (item >= 20) {
        return item
      }
    })
console.log(arr2) // [20, 30, 40]

15 flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。

方法最基本的作用就是数组降维

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr1 = [1, 2, [3, 4,5,[6,7]];
arr3.flat(Infinity);  // [1,2,3,4,5,6,7]

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
前端学习(40)~js学习(十七):数组的常见方法&数组的遍历
unshift():在数组最前面插入一个或多个元素,返回结果为该数组新的长度。插入元素后,其他元素的索引会依次调整。
Vincent-yuan
2020/03/19
1.9K0
面试官:常见的数组方法有哪些?
一、常规操作(增、删、改、查) 增 push() 方法往数组尾部添加元素,并改变数组长度 let arr = [1] arr.push(2) console.log(arr) // [1,2] unshift()方法往数组前面插入元素,并改变数组长度 let arr = [1,2] arr.unshift(0) console.log(arr) // [0,1,2] splice() 方法传入三个参数,依次是 开始位置、要删除的元素数量、插入的元素 // 从 0 下标开始,删除长度为0 ,插入元素
前端老道
2022/12/01
2700
前端学习(39)~js学习(十六):数组
数组的存储性能比普通对象要好。在实际开发中我们经常使用数组来存储一些数据,使用频率非常高。
Vincent-yuan
2020/03/19
8200
22个超详细的 JS 数组方法
https://juejin.cn/post/6907109642917117965
前端达人
2021/01/27
3.6K0
盘盘项目中你常用到的数组API
数组在业务中是一个非常高频的API,在业务中基本都有用它,必不可少,本文是笔者一篇关于数组常用API的总结,希望看完在项目中有所帮助。
Maic
2022/12/21
5730
盘盘项目中你常用到的数组API
javascript数组
数组也是一种数据类型,用于存放数据。在各大语言中都存在数组,但是语法由于大同小异。在JavaScript中数组也是一个非常重要的东西,所以有必要好好的了解一下。
踏浪
2019/07/31
7370
JS数组方法大全
功能:用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。 参数:concat(data1,data2,...);所有参数可选,要合并的数据;data为数组时,将data合并到原数组;data为具体数据时直接添加到原数组尾部;省略时创建原数组的副本。
IT工作者
2021/12/30
4.4K0
JavaScript(ES6之前)数组方法总结
默认按升序排列数组项,排序时会调用每个数组项的 toString() 转型方法,然后比较得到的字符串,以确定如何排序。即使数组中的每一项都是数值, sort() 方法比较的也是字符串,因此会出现以下的这种情况
Leophen
2019/08/23
4940
JavaScript(ES6之前)数组方法总结
JavaScript小技巧 - 数组篇
slice[1]第一个参数如果是负数表示从后面开始数起的第几个元素,-1表示倒数第一个元素。
进击的大葱
2022/08/22
3350
JavaScript常用数组操作方法,包含ES6方法
concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,仅会返回被连接数组的一个副本。
李才哥
2019/07/10
4560
JS数组常用方法大全
join(separator): 将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符,该方法只接收一个参数:即分隔符。
青梅煮码
2023/01/14
3.1K0
JavaScript数组创建及常见方法汇总(修订版)
插入:可以向指定位置插入任意数量的元素,需要提供3个参数:起始位置、0(要删除的元素数量)、插入的元素
用户1272076
2019/03/26
4060
js数组常用方法详解
concat()方法可以在现有数组全部元素基础上创建一个新数组,它首先会创建一个当前数组的副本,然后再把它的参数添加到副本末尾,最后返回这个新构建的数组。如果传入一个或多个数组,则 concat()会把这些数组的每一项都添加到结果数组。如果参数不是数组,则直接把它们添加到结果数组末尾:
IT工作者
2022/05/12
1.5K0
JavaScript数组方法详解
JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法;并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中原型上的方法,本文举例介绍了从ES3到ES7几乎所有的数组方法。这大概是最全的数组方法详解了。希望读者能从中有所收获。
全栈程序员站长
2022/09/06
8300
Javascript数组方法(ES5-ES6)
join(speparator):将数组的元素组起一个字符串,spearator为分隔符,省略的话则用默认用逗号为分隔符,该方法只接收一个参数,即分隔符。
用户9298250
2021/12/29
1.1K0
小述JavaScript数组的增删改查
操作数组一直以来都是很头疼的问题,特别是我这样的比较菜的码农,我个人是很排斥数组这个东西的,但是很多的时候不用数组还是不行的,毕竟很多的数据只靠一个变量是远远不够,今天就简单的说一下js里面的数组怎么进行增删改查。
何处锦绣不灰堆
2020/05/29
4900
js数组方法详解(最新最全)
数组是js中最常用到的数据集合,其内置的方法有很多,熟练掌握这些方法,可以有效的提高我们的工作效率,同时对我们的代码质量也是有很大影响。本文所有的栗子都是在es7环境下测试的,如果有问题欢迎留言交流
寻找石头鱼
2019/08/20
2.6K0
JavaScript中数组的操作方法(含ES6)
push() 方法可向数组的末尾添加一个或多个元素,并返回新的数组长度。会改变原数组。
Caleb
2020/11/03
5920
Math对象、数组、日期函数
一、Math习题练习 Math是JavaScript的内置对象,提供一系列数学常数和数学方法。该对象不是构造函数,不能生成实例,所有的属性和方法都必须在Math对象上调用。 new Math() // TypeError: object is not a function 上面代码表示,Math不能当作构造函数用。 1、写一个函数,返回从min到max之间的 随机整数,包括min不包括max function Random(min,max) { var val= Math.floor(Math.ra
小胖
2018/06/27
2K0
js数组笔记
数组(array)是按次序排列的一组值。每个值的位置都有编号(从0开始)。整个数组用方括号表示,数组的值用','分割;数组的数据可以是任何类型。
bamboo
2019/01/29
12.1K0
js数组笔记
推荐阅读
相关推荐
前端学习(40)~js学习(十七):数组的常见方法&数组的遍历
更多 >
LV.0
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验