一、二维数组
1、二维数组的创建
//创建二维数组
var fruits = [["1", "Banana"], ["2", "Orange"]];
var element = ["3", "Apple"];
fruits[2] = element;
var arr1=[];//定义一个空的一维数组
var arr2=[1,2];//定义一个包含两个元素的一维数组
arr1.push(arr2);//将arr2这个一维数组当作一个元素添加到arr1这个一维数组里面,就让arr1变成了一个二维数组
二、数组的方法
1、数组的方法
//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”]
sort()方法:
它对字符串排序,从左至右逐字比较(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[1]-a[1];
}