js操作数组的常用方法

这篇具有很好参考价值的文章主要介绍了js操作数组的常用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 、数组的创建

1、字面量创建

var arr = [];
let arr2 = []; //es6新增声明变量的方法
//数组中的值用,分割
var arr = [1,3,4,5,7,9,0];

2、内置构造函数创建

var arr = new Array();  // 括号()内不传递参数表示声明了一个空数组
let arr2 = new Array();
console.log(arr)  // []


let arr = new Array(4);  //声明了一个length = 4的空数组
console.log(arr.length)  // 4 
console.log(arr)  // []

let arr = new Array(1,3,4,5,7,9,0);  //多个数据时,每个数据都是数组里面的成员
console.log(arr)  // [1, 3, 4, 5, 7, 9, 0]

注: 查看数组的长度 arr.length

二、常用方法

1、arr[索引值]

(1)修改数组当前索引值的数据
(2)向数组中添加一个新成员,length的索引值,否则依然为修改操作

let arr = [1,4,6,7,8];    //length = 5
arr[3] = 0;
console.log(arr);         // [1, 4, 6, 0, 8]
console.log(arr.length);  //length = 5

let arrAdd = [1,4,6,7,8];    //length = 5
arrAdd[5] = 0;
console.log(arrAdd);         // [1, 4, 6, 7, 8, 0]
console.log(arrAdd.length);  // 6
2、arr.push() 末尾追加

(1)作用:向数组末尾追加一个数据
(2)返回值:追加该数据以后的新数组的长度

let arr = [1,4,6,7,8];  //length = 5
let srr2 = arr.push(5);
console.log(arr2) // 6
console.log(arr)  // [1, 4, 6, 7, 8, 5]
3、arr.unshift() 首位添加

(1)作用:向数组首位添加一个数据
(2)返回值:追加该数据以后的新数组的长度

let arr = [1,4,6,7,8];  //length = 5
let arr2 = arr.unshift(5);
console.log(arr) // [5, 1, 4, 6, 7, 8]
console.log(arr2) // 6
4、arr.pop() 删除最后一项

(1)作用:删除数组最后一项的数据
(2)返回值:删除的最后一项数据

let arr = [1,4,6,7,8];  //length = 5
let arr2 = arr.pop();  //删除8
console.log(arr) // [1, 4, 6, 7]
console.log(arr2) // 8
5、arr.shift() 删除第一项

(1)作用:删除数组第一项的数据
(2)返回值:删除的第一项数据

let arr = [1,4,6,7,8];  //length = 5
let arr2 = arr.shift();  //删除1
console.log(arr) // [4, 6, 7, 8]
console.log(arr2) // 1
6、arr.reverse() 反转数组

(1)作用:反转数组,也就是把数组中的数据倒着重新排列
(2)返回值:反转后的新数组

let arr = [1,4,6,7,8];  //length = 5
arr.reverse();  
console.log(arr) // [8, 7, 6, 4, 1]
console.log(arr.length) // 5
7、arr.sort() 排序

(1)作用:按照某顺序给数组重新排序
(2)返回值:排序后的新数组

let arr = [1,4,6,9,0];  //length = 5
arr.sort(function(a,b){// 箭头函数也可以
	return a - b; //小到大排列
}); 
console.log(arr) // [0, 1, 4, 6, 9]
console.log(arr.length) // 5
/* ============================================== */
arr.sort(function(a,b){
	return b - a; // 大到小排列
});  
console.log(arr) // [9, 6, 4, 1, 0]
console.log(arr.length) // 5
8、arr.concat() 拼接

(1)作用:拼接数组,多个数组拼接或着拼接某些内容
(2)返回值:拼接后的新数组

let arr = [1,4,6,7,8];  
let arr1 = [0,9,3,5];	
console.log(arr.concat(arr1)) // [1, 4, 6, 7, 8, 0, 9, 3, 5]
console.log(arr.concat('你好'))  [1, 4, 6, 7, 8, '你好']
9、arr.join() 连接

(1)作用:将数组的每一项通过设定的连接符连接为一个字符串
(2)返回值:连接后的字符串
(3) 参数: 不传值时默认为,

let arr = [1,4,6,7,8];  
console.log(arr.join('-')) // 1-4-6-7-8
console.log(arr.join()) // 1,4,6,7,8
10、arr.slice() 有范围截取

(1)作用:从开始索引值截取到结束索引值(包前不包后)
(2)返回值:截取出来的新数据
(3) 特殊: 可以传递负整数(表示倒数第几个开始,-1表示最后一个)

let arr = [1,4,6,7,3,8,0];  
//从索引值为1的位置截取到索引值为3位置,包含索引值为1的数据,不包含索引值为3的数据(包前不包后)
console.log(arr.slice(1,3)) // [4, 6] 

//从倒数第四位开始截取到左后一位,依旧是包前不包后
console.log(arr.slice(-4,-1)) // [7, 3, 8]
11、arr.splice() 截取、删除

(1)作用:用来添加或者截取数组中的某些数据
(2) 方法:
arr.splice(操作的开始索引值,截取个数);
arr.splice(操作的开始索引值,截取个数,新数据1,新数据2,……)
(3)返回值:截取出来的数据或者替换后的新数组
(4) 特殊: 可以传递负整数(表示倒数第几个开始,-1表示最后一个)

let arr = [1,4,6,7,3,8,0]; 
//从索引为1的位置开始截取5个数据 
console.log(arr.splice(1,5)) // [4, 6, 7, 3, 8]

//从索引为2的位置开始截取3个数据,并在原数组中的相对应位置追加新数据
console.log(arr.splice(2,3,'你','好','呀')); //[6, 7, 3]
console.log(arr).  //[1, 4, '你', '好', '呀', 8, 0]
12、arr.indexOf() 查数据

(1)作用:查找数组中有无相关数据
(2)返回值:有相关数据返回对应的索引值;没有则返回-1

let arr = [1,4,6,7,8];  
console.log(arr.indexOf(6)) // 2 (6对应的索引值为2)
console.log(arr.indexOf(0)) // -1 数组中不含有0这个数据
13、arr.includes() 查数据

(1)作用:查找数组中有无相关数据
(2)返回值:一个布尔值。
数组中包含该元素 ==》 true
数组中不含有该元素 ==》 false

let arr = [1,4,6,7,8];  
console.log(arr.includes(3)) // false
console.log(arr.includes(6)) // true
14、arr.forEach() 遍历

(1)作用:遍历数组

let arr = [1,4,6,7,8];  
arr.forEach((item, index, arr)=> {
	console.log('数据:', item, ',索引值:',index, ',原始数组:',arr)
})
/* 	数据: 1 ,索引值: 0 ,原始数组: (5) [1, 4, 6, 7, 8]
	数据: 4 ,索引值: 1 ,原始数组: (5) [1, 4, 6, 7, 8]
	数据: 6 ,索引值: 2 ,原始数组: (5) [1, 4, 6, 7, 8]
	数据: 7 ,索引值: 3 ,原始数组: (5) [1, 4, 6, 7, 8]
	数据: 8 ,索引值: 4 ,原始数组: (5) [1, 4, 6, 7, 8]
	如上,参数1:item为数组中的每一项内容;参数2:index 为数据的索引值; 参数3: arr为原数组,不会发生改变,通常使用前俩 */
15、arr.map() 映射

(1)作用:映射数组
(2)返回值:映射后的新数组

let arr = [1,4,6,7,8];  
let arr2 = arr.map((item, index)=> {
	console.log('数据:', item, ',索引值:',index)
	return item + 1; //值+1操作
})
console.log(arr2) //[2, 5, 7, 8, 9]
console.log(arr)//[1, 4, 6, 7, 8]
/*	数据: 1 ,索引值: 0
 	数据: 4 ,索引值: 1
	数据: 6 ,索引值: 2
	数据: 7 ,索引值: 3
	数据: 8 ,索引值: 4
	如上,参数1:item为数组中的每一项内容;参数2:index 为数据的索引值; */
16、arr.filter() 过滤

(1)作用:按条件过滤数组中的数据
(2)返回值:符合条件的数据组成的新数组

let arr = [1,4,6,7,8];  
let arr2 = arr.filter((item, index)=> {
	if(item % 2 == 0){
		return item;
	}
})
console.log(arr2) //[4, 6, 8]
console.log(arr)//[1, 4, 6, 7, 8]
17、arr.every() 检测(都符合)

(1)作用:检测数组中的每一项是否都符合规则
(2)返回值:一个布尔值。
数组中的每一项都符合规则 ==》true
某一项不符合规则 ==》false(其余项将不进行检测,直接返回)

let arr = [1,4,6,7,8];  
let arr2 = arr.every((item)=> {
		return item % 2 == 0;
})
console.log(arr2) // false

let arr3 = arr.every((item)=> {
		return item > 0;
})
console.log(arr3) // true
18、arr.some() 检测(部分符合)

(1)作用:检测数组中的元素是否符合规定条件
(2)返回值:一个布尔值。
数组中只要有一项符合规则 ==》 true (其余项将不进行检测,直接返回)
数组中所有项都不符合规则 ==》 false文章来源地址https://www.toymoban.com/news/detail-490786.html

let arr = [1,4,6,7,8];  
let arr2 = arr.some((item)=> {
		return item % 2 == 0;
})
console.log(arr2) // true

let arr3 = arr.some((item)=> {
		return item < 0;
})
console.log(arr3) // false

三、是否改变原数组

方法 是否会改变原数组 返回值
.push() 追加该数据以后的新数组的长度
.unshift() 追加该数据以后的新数组的长度
.pop() 删除的最后一项数据
.shift() 删除的第一项数据
.reverse() 反转后的新数组
.sort() 排序后的新数组
.splice() 截取出来的数据或者替换后的新数组

到了这里,关于js操作数组的常用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 〖大前端 - 基础入门三大核心之JS篇㉔〗- JavaScript 的数组的常用方法 (一)

    当前子专栏 基础入门三大核心篇 是免费开放阶段 。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专

    2024年02月07日
    浏览(56)
  • ethers.js常用的操作方法

    --ethers比web3来说使用方式相对简洁很多,主要就操作三个大对象         1. Provider,(提供者)是一个用于连接以太坊网络的抽象类,提供了只读形式来访问区块链网络和获取链上状态;         2. Signer,(签名器)通常是以某种方式直接或间接访问私钥,可以签名消息和

    2024年02月10日
    浏览(86)
  • 【Java基础教程】(三十八)常用类库篇 · 第八讲:数组操作类——解析Arrays类中的全部操作方法,解锁Java数组操作技巧~

    前言:在学习本文之前,应该先学习并清楚了解Java基础部分的数组相关的概念和知识。 若还不具备学习条件,请先前往学习数组部分的基础知识: 《【Java基础教程】(八)面向对象篇 · 第二讲:Java 数组全面解析——动态与静态初始化、二维数组、方法参数传递、排序与转

    2024年02月15日
    浏览(62)
  • 【JavaScript】数组操作 遍历、修改、新增、删除等...

    目录 一、数组是什么? 二、数组操作 2.1、遍历 2.2、数组求最大值和最小值 2.3、修改 2.4、新增 追加到数组末尾 添加到数组开头 2.5、删除 数组是一种可以 按顺序保存 数据的数据类型。 追加到数组末尾 数组.push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新

    2024年02月21日
    浏览(49)
  • wps js宏获取工作簿、工作表、单元格的值、链接转图片、单元格区域数据转二维数组、保存工作簿的常用Excel操作

             首先说明js宏的全称是JavaScript for WPS,JavaScript语言可以简称js,通过名称知道js宏的本质是用JS语言调用WPS提供的Application对象模型,要求必须有js基础,跳过js直接学js宏会走很多弯路!!!         本篇介绍js操作Excel对象模型的常用方法,助你从vba转战js,这

    2024年02月12日
    浏览(57)
  • java 数组新增元素的两种方法

    数组在使用前,长度就已固定,所以原数组长度是不能再改变了,基于此,提供如下两种方式,添加元素数据 1创建一个新数组,长度为原数组加1,然后将原数组数据添加到新数组,最后再添加需要的新数据         String[] s1 = {\\\"a\\\",\\\"b\\\",\\\"c\\\"};         String[] s2 = new String[s1.l

    2024年02月16日
    浏览(39)
  • postman连接es执行创建、查询、新增文档等操作

    创建索引操作语句: 查询索引操作: 查询文档: 新增文档操作:

    2024年02月13日
    浏览(44)
  • ES6 - 对象新增的一些常用方法

    再ES5中 比较两个值是否相等,只有两个运算符:相等运算符( == )和严格相等运算符( === ) 但它们都有缺点,前者会 自动转换 数据类型,后者的 NaN 不等于自身,以及 +0 等于 -0 。 先说它们两个的比较过程: 双等号== : (1)如果两个值类型相同,再进行三个等号(===)的

    2024年02月13日
    浏览(32)
  • JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)

    数组是 JavaScript 以及多数编程其他编程语言的一种基础数据类型。 ES6 提供了许多新的数组方法,这篇文章将介绍其中一些常用的数组方法及其使用示例。 Array.from() 方法从一个类似数组或可迭代对象中创建一个新的,浅拷贝的数组实例。例如,将字符串转换为字符数组。 A

    2024年02月10日
    浏览(44)
  • js清空数组的3种常用方式

    点击打开视频讲解

    2024年02月10日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包