JavaScript的数组教程(最详细,更新至es6新语法)

简介: JavaScript的数组教程(最详细,更新至es6新语法)

创建数组的几种方式,最全面

//第一种 字面量创建
var arr1=[1,23,4];
//第二种 new Array() 这是一个构造函数创建方式
var arr2=new Array(1,223,34);
//第三种 Array 也是构造函数方式创建
var arr3=Array(23,21,333);
//第四种 Array.of()
var arr4= Array.of(2,34,2);
//第五种 Array(数量).fill(value)
var arr5= Array(4).fill(1,233,34,4)

数组方式创建的区别

// new Array() 这是一个构造函数创建方式
var arr2=new Array(1,223,34);
// Array 也是构造函数方式创建
var arr3=Array(23,21,333);
// Array.of()
var arr4= Array.of(2,34,2);
// Array(数量).fill(value)
var arr5= Array(4).fill(1,233,34,4)
通过构造函数方式创建数组,需要确保Array前面没有被更改还有重新定义
new Array()  Array() 这二种方式如果只传一个值,就是数组的长度,值为空
var ar1=new Array(9);
//值为空,长度为9的空数组
Array.of() [] 这俩种方式虽然一个是构造函数创建方式一个是字面量创建方式
但是传一个值就是创建一个值的数组元素
var ar2 =Array.of(1)
var ar3 =[3]
是创建一个值的数组

**注意:**工作中常用的还是字面量创建,因为比较优美,而且还不需要像Array创建的时候还要查看之前是否重新定义以及被更改。

访问数组的方式

通过数组的下标可以进行访问,数组的下标是从零开始的,到数组最大的长度减一,因为数组是从零开始的,但是长度确实从1开始的

var arr=[1,2,3];、
//       0 1  2
//获取数组长度 length方法
console.log(arr.length)
//获取数组中的2
console.log(arr[1])
//因为数组是从零开始的,到达2的时候正好为1
//如果访问超过数组长度的元素
console.log(arr[76])
//因为数组里没有所以返回undefiend

数组添加元素

var arr=[1,343,54,6,5,23,43,2,342];
//如果数组索引下标为3有值的话则会被覆盖掉
arr[3]=45;
//如果数组长度大于当前长度,则会增加到该长度,中间没有值的都为空 empty是空的意思 如果访问则是undefined
arrp[98]=1;
//也可以通过length的方式就行追加

数组删除元素

var ayy1=[12,342,3,2,32,2]
//可以通过length进行删减
arr.length=5;

数组遍历

//采用for循环进行遍历
var arr=[121,34,3,232,23,2]
for(let i=0;i<arr.length;i++){
console.log(arr[i])
}
//for..of循环  ele 代表循环出来的每一项 arr代表数组名字
for(let ele of arr){
console.log(ele)
}
//forEach 
arr.forEach((数组每一个元素,索引, 数组本身)=>{})

红色预警好好学这里,重点重点重点 数组的栈模式

//栈是一种后入先出的数据结构,就是说最后一个放进去的元素,是第一个被拿出来的
//JavaScript数组原生支持栈的模式
//定义一个栈,也是字面量创建数组
var arr=[1,23,34]
//入栈,往arr后面添加数组,也可以添加多个,入栈也可以说是添加
arr.push(4)
//出栈 从栈里面删除他并且返回删除的值,删除最后一个值并返回,可以使用变量接受,也可以不用
arr.pop()
//peek操作
//就是通过length长度进行操作

红色预警: 先入先出的数据结构

var var arr=[5,23,34]
//入队
arr.push(2,34,34,4)
//出队 删除第一个元素 返回删除的数组,原数组改变
let ar1=arr.shift()
//头部插入元素unshift()
arr.unshift(12,3,2)

数组方法

//反转数组 reverse()
var arr=[322,2134,3]
arr.reverse()
//返回修改后的数组且改变原数组
//也可以用来分隔字符串 如果split不传参数则进行分隔字符串变成一个数组join是字符串拼接的方法,分隔每个字符串使用
console.log('hello',split().reverse().join())

数组排序

var arr=[1,2,34,3,45,45,1];
//升序排列
arr.sort()
a是数组前一个元素,b是后一个元素 降序排列
arr.sort((a,b)=>{
if(a>b){
return -1;
}else if(a<b){
return 1;
}else{
return 0;
}
})
arr.sort((a,b)=>b-a)

数组链接

var arr1=[1,2,34,56,45,34];
var arr2=[231,2132,12];
//可以传多个数组,进行合并
arr1.concat(arr2)

数组裁切,返回数组的一部分

slice(a,b)方法,从a位置截取到b位置停止,不包含b位置,返回截取的字符串

map方法

map()方法不会改变原数组可以return出去而forEach不行
var arr1=[12,323,34,321,12,332]
//返回新数组
var aww=arr1.map(ele=>ele*2)

reduce方法 累加器

var arr=[1,23,43,3423,321,232]
var res=arr.reduce((tol,curre)=>tol+curre,0)
//第一个是数组中第一个二个参数,第二个参数是初始值,如果不给初始值的情况下,默认是数组中第一个和第二个参数开始相加,给了初始值,就从初始值进行相加

数组过滤,筛选数组中的值 filter

var arr=[12,324,3,44,5,4565]
过滤大于13的值,如果大于13则为true 存储在新数组中
var filte=arr.filter(item=>item>13)

数组检测 every()

俩种方式:检测是否符合某种条件,如果符合就返回true,不符合就返回false
检测是否包含某个参数,如果符合就返回true,不符合就返回false
var arr=[12,23,43,45,45,56,65,6,12]
var res=arr.every(item=> item>0);
所有大于0返回true,判断所有元素
//some判断单个元素
var arr1=arr.some(item=>item>5)
//如果有一项大于5就返回true

结构操作符:把数组的值赋值给变量

var arr=[123,454,23,23123,23]
var [a,b,c,d]=arr;

rest操作符 ,三个点 … 剩余参数的意思

多维数组

let arr=[1,23,[12,2]]
相关文章
|
5天前
|
JavaScript 前端开发 Java
【JavaScript】基础语法(中)
【JavaScript】基础语法
16 1
|
5天前
|
JavaScript 前端开发 网络安全
【网络安全 | 信息收集】JS文件信息收集工具LinkFinder安装使用教程
【网络安全 | 信息收集】JS文件信息收集工具LinkFinder安装使用教程
16 4
|
5天前
|
Web App开发 JavaScript 前端开发
《手把手教你》系列技巧篇(三十九)-java+ selenium自动化测试-JavaScript的调用执行-上篇(详解教程)
【5月更文挑战第3天】本文介绍了如何在Web自动化测试中使用JavaScript执行器(JavascriptExecutor)来完成Selenium API无法处理的任务。首先,需要将WebDriver转换为JavascriptExecutor对象,然后通过executeScript方法执行JavaScript代码。示例用法包括设置JS代码字符串并调用executeScript。文章提供了两个实战场景:一是当时间插件限制输入时,用JS去除元素的readonly属性;二是处理需滚动才能显示的元素,利用JS滚动页面。还给出了一个滚动到底部的代码示例,并提供了详细步骤和解释。
32 10
|
2天前
|
JavaScript 前端开发
前端 JS 经典:ES6 和 CommonJs 用法
前端 JS 经典:ES6 和 CommonJs 用法
7 0
|
5天前
|
JavaScript 前端开发 Java
【JavaScript】基础语法(下)
【JavaScript】基础语法
9 1
|
5天前
|
Web App开发 JavaScript 前端开发
【JavaScript】基础语法(上)
【JavaScript】基础语法
9 0
|
5天前
|
存储 JavaScript 前端开发
Javascript教程
Javascript教程
9 0
|
5天前
|
JavaScript
通过使用online表单的获取使用,了解vue.js数组的常用操作
通过使用online表单的获取使用,了解vue.js数组的常用操作
|
5天前
|
存储 JavaScript 前端开发
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
9 0
|
5天前
|
JavaScript 前端开发 Java
《手把手教你》系列技巧篇(四十)-java+ selenium自动化测试-JavaScript的调用执行-下篇(详解教程)
【5月更文挑战第4天】本文介绍了如何使用JavaScriptExecutor在自动化测试中实现元素高亮显示。通过创建并执行JS代码,可以改变元素的样式,例如设置背景色和边框,以突出显示被操作的元素。文中提供了一个Java示例,展示了如何在Selenium中使用此方法,并附有代码截图和运行效果展示。该技术有助于跟踪和理解测试过程中的元素交互。
12 0