一、二维数组
二维数组的创建与访问
创建
var fruits = [["1", "Banana"], ["2", "Orange"]];
var element = ["3", "Apple"];
fruits[2] = element;
访问
fruits[0] // ["1", "Banana"]
fruits[0][1] // "Banana"
遍历
for(var i in fruits){
for(var j in fruites[i]){
console.log(fruits[i][j])
}
}
向二维数组添加元素
var arr = [["1", "Banana"],["2","Orange"]]
var element = ["3", "Apple"]
arr.push(element)
console.log(arr)
运行结果:
向二维数组删除元素
var arr = [["1", "Banana"],["2","Orange"]]
var element = ["3", "Apple"]
arr.push(element)
arr.pop()
console.log(arr)
运行结果:
位移元素
shift()
删除首个数组元素并返回被删除的元素,同时把所有其他元素“位移”到更低的索引
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.shift();//fruits的值是[“Orange”, “Apple” , “Mango”]; x的值是"Banana"
unshift()
向数组的开头添加一个或更多元素并返回新的长度,同时把所有其他元素“位移”到更高的索引
var fruits = ["Orange", "Apple", "Mango"];
var x = fruits.unshift("Banana");//fruits的值是[“Banana”, “Orange”, “Apple” , “Mango”]; x的值是4
数组排序
reverse()
颠倒数组中元素的顺序,并返回数组
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.reverse();//x和fruits的值均为[“Mango”, “Apple”, “Orange”, “Banana”]
sort()
数组的元素进行排序,并返回数组
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.sort();//x和fruits的值均为[“Apple”, “Banana”, “Mango” , “Orange”]
对字符串排序,从左至右逐字比较(ASCII码顺序)
- 如[“a”, “A”, “1”], 按ASCII码顺序排列后为[“1”, “A”, “a”]。(数字>大写字母>小写字母)
- 如[“ab”, “ac”, “abc”], 排序后为[“ab”, “abc”, “ac”]。
(第一位相同比较第二位,b>c,因此ab和abc在ac之前;再比较ab与abc, ab没有第三位,因此排在abc之前) - 对字符串形式的数字,排序规则不变,如[“10”, “5”, “18” , “50”], 排序后为[“10”, “18”, “5”, “50”]
如需要对字符串形式的数字进行排序,采用以下两种方式
- 统一格式,补足位数,如[“10”, “5”, “18” , “50”]中, 将“5”写为“05”
- 转换为数字,使用特殊方法对数字排序
数字排序
function sortby(a, b) {
return a - b //升序
}
var arr = [10,5,8,50];
arr.sort(sortby) //[5,8,10,50]
function sortby(a, b) {
return b - a //降序
}
var arr = [10,5,8,50];
arr.sort(sortby) //[50,10,8,5]
该比较函数的名字可为任意,也可直接在sort()内写匿名函数作为参数
arr.sort(function (a, b) {
return a - b
})
总结
以上就是对数组的总结