重温js——数组

简介: push 是在数组的末尾添加新的数据,数据可以是多个,会依次添加到数组的末尾

数组的创建方式


字面量


我们知道对象创建方式有字面量的创建方式, 如:


var a =  {
    b: 1,
    c: 2
}
复制代码


那我们创建数组肯定也是可以使用字面量的方式来创建


var arr = [1,'a',null, undefined, ' ']
// 这句话的意思是创建一个数组,内容是 1,'a',null, undefined, ' ', 长度是 5
复制代码

b8b19f0ffcc9098d8da6ed1327364c3a.png


new 的方式


对象我们还可以使用new的方式来创建一个对象: 如:


var obj=   new Object({b:1,c:2})
复制代码


那么数组我们也是可以使用new 的方式来创建的。


var arr =new Array(1,2,3,'2',null,undefined)
// 这个意思是创建一个数组,内容包含 1,2,3,'2',null,undefined, 长度为6
复制代码

6acb88c965bb78b77c6659555eaa61a3.png


注意事项


在new的方式中,如果第一个参数是数字的话,那么创建的是一个长度为数字,内容为空的数组


6df69201c46007fe91b18235ff50091a.png


数组的类型


数组是用来存储数据的,数组的类型是对象,也是一个引用值的类型。


07b8530a3c2b4036d13f0f0ac4191cd2.png


那么怎么判断一个数据是不是数组呢?


instanceof


var arr = [2];
arr instanceof Array // true
复制代码

023b15dc6110733468ab041ee64fa7eb.png


Object.prototype.toString.call


var arr = [2];
Object.prototype.toString.call(arr) // "[object, Array]"
复制代码

14198f52f229906d3a1a30ccc379d835.png


Array.isArray


var arr = [2];
Array.isArray(arr) // true
复制代码

4db18914a6cde3a468630147586a76e7.png


constructor


var arr = [2];
arr.constructor === Array  // true
复制代码

2c7785ace1efa0c3b7d3781d7476cbe9.png


读取数组元素


我们通过前面的文章了解到数组和对象一样,都是引用类型,那么读取对象的方式对象表达式的方式:


var obj = {
    0: 1,
    1: 2,
    2: '32323'
}
obj['0'] 和 obj[0] 得到的结果是一样的,js 在读取的过程中,会把数字转成字符串
复制代码

666c7d5a073e4ba9eb8504a08a721d8f.png


我们数组长的和对象差不多,那我们是不是也可以通过 数组[下标的方式] 来读取


a69f3676dd0af0559d1c62f9f57ad79a.png


通过上图我们知道,是可以通过下标来读取的,并且数组会默认有一个length 属性,这个length 是根据最大的下标来自动生成的.


bcda95caeed731f4742108b6ae8a5559.png


里面有一些地方是empty (空的),那我们就称这个数组是不连续的,也就是稀松数组


数组的遍历


我们在上一节说到了数据的遍历方式,那么遍历数组的方式有哪些呢?


for 循环


var  arr = [1,2,3,'2',null,undefined, , , 123];
for(var i = 0; i<arr.length; i++){
    arr[i] 可以遍历数组的每一项,包括空的
}
复制代码

1392782f6d331e69978538484c01fac5.png


for in 循环


var  arr = [1,2,3,'2',null,undefined, , , 123];
for(var prop in arr){
    arr[i] 可以遍历数组的每一项,如果是空的,是不会打印的
}
复制代码

453622f8f358055cf3e16a3879eeb04e.png


有兴趣的自己自己尝试 forEach,和 for of等es6中语法


数组的基本操作


数组是用来存储数据,那么我们如何新增呢?


push


push 是在数组的末尾添加新的数据,数据可以是多个,会依次添加到数组的末尾


var arr = [12,3,23,0]
arr.push(1,2,4)
复制代码

b05d8ee6985007938c1f9431878d04e7.png


我们知道,arr[arr.length -1] 是获取数组的最后一位,那么我们直接 arr[arr.length] = 123 也是可以在数组末尾添加数据


unshift


unshift 是在数组的首位添加数据


var arr = [12,3,23,0]
arr.unshift(1,2,4)
复制代码

96a87866ddf8e16cf974fa939bb82feb.png


splice


这个方法可以加,可以减


var arr = [12,3,23,0]
// 在下标为1的后面,添加4,4,5,6
arr.splice(1,0,4,4,5,6);
复制代码

cd8389f87ee3d77f1e35796ef0cf82c1.png


pop


删除数组的最后一位


var arr = [12,3,23,0];
arr.pop();
复制代码

6a4b93c6c98bdec6d64155cfe384a257.png


shitf


var arr = [12,3,23,0];
arr.shift();
复制代码

afca8be9cfe21cdff797995034ba688c.png


其他的详情请查看,


es6的新增请查看

相关文章
|
2月前
|
自然语言处理 前端开发 JavaScript
🛠️ JavaScript数组操作指南:20个精通必备技巧🚀
本文详细介绍了 JavaScript 中的 20 个高效数组操作技巧,涵盖了从基本的添加、移除元素,到数组转换和去重等高级操作。强调了不可变性的重要性,提供了清晰的代码示例,帮助开发者编写更整洁和高效的代码。无论是新手还是经验丰富的开发者,这些技巧都将显著提升您的编码能力,使您在项目中更具竞争力。
30 2
|
2月前
|
JavaScript 前端开发 测试技术
JS都有哪些操作数组的方法
JS都有哪些操作数组的方法
25 3
|
2月前
|
JavaScript
js删除数组中已知下标的元素
js删除数组中已知下标的元素
38 4
|
2月前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
40 1
|
2月前
|
JavaScript 前端开发 Java
【javaScript数组,函数】的基础知识点
【javaScript数组,函数】的基础知识点
25 5
|
2月前
|
JavaScript 前端开发 索引
探索JavaScript数组:基础
探索JavaScript数组:基础
19 3
|
2月前
|
JavaScript 前端开发 索引
JS 删除数组元素( 5种方法 )
JS 删除数组元素( 5种方法 )
46 1
|
2月前
|
JavaScript 前端开发 API
JS中数组的方法flat()怎么用
JS中数组的方法flat()怎么用
19 0
|
2月前
|
JavaScript 前端开发 索引
JavaScript中数组、对象等循环遍历的常用方法介绍(一)
JavaScript中数组、对象等循环遍历的常用方法介绍(一)
26 0
|
2月前
|
前端开发 JavaScript 索引
JavaScript 数组常用高阶函数总结,包括插入,删除,更新,反转,排序等,如map、splice等
JavaScript数组的常用高阶函数,包括遍历、插入、删除、更新、反转和排序等操作,如map、splice、push、pop、reverse等。
18 0