二维数组


一、二维数组

二维数组的创建与访问

创建

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 
})  

总结

以上就是对数组的总结

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值