Array数组 数组 也是对象的一种
数组也是对象的一种,ES数组的每一项可以保存任何类型的数据。
数组的创建方式
var colors = new Array();
var colors = Array();
var colors =[]
数组字面量由一对包含数组项的方括号表示("[]"),多个数组项之间以逗号隔开。
数组的length属性
数组的length属性的特点:不是只读的。也就是说通过设置这个属性,可以从数组的末尾移除或向数组中添加新项。
操作数组的方法
检测数组方法
变量名 instanceof Array
Array.isArray(变量名)
转换方法
toString()方法返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串;
valueOf()返回的还是数组;
toLocaleString()方法也经常返回与toString和valueof()方法相同的值
join()方法 数组转字符串
join()方法使用不同的分隔符来构建字符串。只接受一个参数,即用作分隔符的字符串,然后返回包含所有数组项的字符串。
栈方法(后进先出)
push()方法:接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
pop()方法:从数组的末尾移除最后一项,减少数组的length值,然后返回被移除的项。
队列方法(先进先入)
unshift()方法:在数组的前端添加任意个项并返回新数组的长度。
shift()方法:从数组的前端移除第一项(也就是位置索引值为0),减少数组的length值,然后返回被移除的项。
重排序方法
reverse()方法:反转数组项的顺序。
sort()方法:排序
只会比较首位 和字符串的比较方法一样
sort()方法会调用每个数组项的toString()转型方法,然后比较得到的字符串,来确定顺序。
var values = [0,1,5,10,15]
values.sort(function(a,b){
return a-b //升序
return b-a //降序
});
reverse 和 sort方法都会改变原数组
操作方法(获取位置方法)
concat()方法可以基于当前数组创建一个新数组。
slice()方法可以基于当前数组获取指定区域元素并创建一个新数组。
splice()主要用途是向数组的中部插入元素,使用方式有3种。
位置方法
indexOf():返回某个指定的字符串值或者某个数组元素值在字符串或者数组中首次出现的位置
lastIndexOf():返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索