数组的创建方式
var str = new Array();
或者
var str = ["1","2","3"];
数组的检测方法
var str = ["red","green","blue"]
console.log(str instanceof Array) // 返回值为true
或者
var str = ["red","green","blue"]
console.log(Array.isArray(str)) // 返回值为true
转换方法
toString
和toLocaleString
的返回值相同,都是每个值的字符串形成拼接,用逗号隔开。
valueOf
的返回值还是数组。
例:
var str =["red","blue","green"]
console.log(str.toString()) // 返回值为:red,blue,green
console.log(str.toLocaleString()) // 返回值为:red,blue,green
console.log(str.valueOf()) // 返回值为:(3) ["red", "blue", "green"]
join() 数组转换字符串
var str =["red","blue","green"]
console.log(str.join(",")) // 输出值为:red,blue,green
console.log(str.join("|")) //输出值为:red | blue | green
括号里不加任何参数,则所有值连在一起。
栈方法
栈是一种后进先出(LIFO:last in frist to),最后进来的先出去。
push()
:在数组的末尾添加任意参数,返回值为新的数组长度。
var str =["red","blue","green"]
console.log(str.push("1")) // 输出值为:4;
console.log(str) // 输出值为 (4) ["red", "blue", "green", "1"]
pop()
:在数组的末尾删除任意参数,返回值为被删除的项。
var str =["red","blue","green"]
console.log(str.pop()) // 输出值为:green;
console.log(str) // 输出值为:(4) ["red", "blue"]
队列方法
队列方法是一种先进先出(FIFO:frist in frist out),先进来的先出去。
unshift
:在数组的最前端添加参数,返回值为新的数组长度。
var str =["red","blue","green"]
console.log(str.unshift("1")) // 输出值为:4;
console.log(str) // 输出值为 (4) ["1","red", "blue", "green"]
shift
:删除数组最前端的一项,返回值为被删除的项。
var str =["red","blue","green"]
console.log(str.shift()) // 输出值为:red;
console.log(str) // 输出值为:(2) [ "blue", "green" ]
reverce翻转数组
var a = [2,3,4,5]
console.log(a.reverce()) // 输出值为: [5,4,3,2]
sort排序
var a = [5,3,4,6,8]
console.log(a.sort(function (a,b){
return a-b // 升序
})) // 输出值为 (5) [3, 4, 5, 6, 8];
console.log(a.sort(function (a,b){
return b-a // 降序
})) // 输出值为 (5) [8, 6, 5, 4, 3]
操作方法
concat
:连接两个或几个数组,返回值为连接后新的数组。
var a = [3,4,5]
var b = ["red","blue"]
console.log(a.concat(b)) // 输出值为:(5) [3, 4, 5, "red", "blue"]
slice(start,end)
:用于提取或截取数组的某一个部分,返回值为被截取的部分。
括号内的值都为数组的索引值(下标),只能从左往右进行截取,返回的值从start开始,结束语end的前一项。如果括号内只有一个值,则返回的值为从开始索引值的项到结束。
var a = [3,4,5,6,7]
console.log(a.slice(1,3)) // 输出值为:4,5
console.log(a.slice(1)) // 输出值为:4,5,6,7
splice(start,howmany,jia1,jia2……)
:用于添加,删除和替换数组中的元素。
括号内的第一个值为数组的索引值(下标),第二个值为个数,后面的值都为要添加的项。
- 添加:
添加时,返回的值为 [ ]空,被添加的项会被添加在start的前面。
var a = ["三国演义","西游记","红楼梦"]
console.log(a.splice(1,0,"活着")) // 输出值为:[ ] 空
console.log(a) // 输出值:(4) ["三国演义", "活着", "西游记", "红楼梦"]
- 删除:
删除时,返回的值为被删除的项。
var a = ["三国演义","西游记","红楼梦"]
console.log(a.splice(1,2)) // 输出值为:(2) ["西游记", "红楼梦"]
console.log(a) // 输出值:["三国演义"]
- 替换:
替换时,返回的值为被替换掉的项。
var a = ["三国演义","西游记","红楼梦"]
console.log(a.splice(1,1,"活着")) // 输出值为:["西游记"]
console.log(a) // 输出值:(3) ["三国演义", "活着", "红楼梦"]