上次我们对于Javascript的字符串方面的知识进行扩展,那么今天来开始对数组的知识进行一个学习。在JS中数组(Array)和Java等语言是有比较大的区别的,对于js而言,Array可以包含任意数据类型。
在js中,数组的定义非常的简单,let +数组名=[数组元素1,数组元素2,~~]
let arr=[1,2,3,4,5,6]
这里定义数组后,可以通过console.log()语句输出查看定义的数组中的元素。
当我们需要对数组进行遍历操作,或者其他特殊操作时,我们经常需要获取数组的长度,与Java同理,在js中也可以用相同的方法获取数组长度:
let arr=[1,2,3,4,5,6] console.log(arr.length)
ps:注意当我们对于arr.length进行赋值的时候,数组的大小会发生变化,这是和Java的区别,数组大小可以动态的变化,但是如果长度赋值过小,数组元素就会丢失。
1.indexOf()方法
我们可以通过这个方法,获取数组中元素的下标索引:
let arr=[1,2,3,4,5,6] arr.indexOf(3);
这里console.log()出现的结果会是2,因为数组元素3首次出现的下标索引为2。
2.slice()方法
可以截取Arry数组的一部分,并且返回一个新的数组:
let arr=[1,2,3,4,5,6] console.log('截取arr[1]-arr[5]后数组为:'+arr.slice(1,6))
3.push() 与 pop() 方法
push()方法可以将数据从尾部压入数组后返回数组长度,
pop()方法可以将数据从尾部弹出数组:
let arr=[1,2,3,4,5,6] arr.push(7,8);//将数据从尾部压入数组后返回数组长度 console.log('从尾部压入数据后数组为:'+arr); arr.pop();//弹出尾部元素 console.log('从弹出尾部元素后arr数组为:'+arr);
输出的结果为:
4.unshift() 与 shift() 方法
arr.unshift(0);//将数据从头部压入数组 console.log('从头部压入数据后数组为:'+arr); arr.shift();//弹出头部元素 console.log('从头部弹出元素后数组为:'+arr);
与pop,push相反,unshift与shift是从数组头部将元素压入以及弹出。
5.sort() 与 reverse()方法
由于js数组可以存放不同的数据类型,这里利用字符类型进行例子的说明,sort与reverse方法,sort可以直接改变数组顺序,将数组元素按大小进行排序,reverse可以直接对数组进行操作,将数组元素逆序输出:
cao=["A","C","B"]; console.log(cao.sort());//sort方法将元素排序,直接改变数组 console.log(cao.reverse());//reverse方法将数组元素逆序输出,直接改变数组 console.log(cao);
输出结果如下:
ps:字符串中的"1"与1是不同的,由于js的数组可以存放任意数据类型的数据,因此"1"代表着字符的1,而1代表的是数字。
Javascript中的数组的使用是十分方便且并没有太多的约束,这里就非常明显的体现出来了java与JavaScript两门语言即存在相似的地方,但是区别也是十分明显的,因此在定义以及调用数组的时候,还是建议符合我们编程的规范,尽可能地提高代码的可阅读性。