javascript 怎么取多维数组的长度? 这样的:var xx = [{, },{, }];

JavaScript029

javascript 怎么取多维数组的长度? 这样的:var xx = [{, },{, }];,第1张

//首先这是一个一维数组,这个一维数组的长度为3,分别是3个对象

//取length

alert(cars.length)

//想取year 

for(var i = 0i<cars.lengthi++){

    if(cars[i].year<2005){

        alert("cars中第"+(i+1)+"个元素的年份是"+cars[i].year)

    }

}

1、二维数组声明方式是下面这样的:

var images=new Array()//先声明一维

for(var i=0i<10i++){ //一维长度为10

images[i]=new Array()//在声明二维

for(var j=0j<20j++){ //二维长度为20

images[i][j]=1

}

2、二级数组使用方式应该是这样子的:

alert(images[0][0])

声明确实比较麻烦,需要先声明第一维,然后循环生成第二维

//实现一个 Array each方法 实现遍历多维数组

var arr = [1,2,3,[4,[5,6]]]//arr.length

Array.prototype.each = function(fn){

try{

//1 目的  遍历数组的每一项  //计数器 记录当前遍历的元素位置

this.i || (this.i=0)

//2 严谨的判断什么时候去走each核心方法

//当数组的长度大于 0 的时候 &&传递的参数 必须为函数

if( this.length>0  &&fn.constructor == Function ){

// 循环遍历数组的每一项 

while( this.i <this.length ){

//获取数组的每一个值

var e = this[this.i]//数组的每一项

//如果当前元素获取到了 并且当前元素是一个数组

if(e &&e.constructor == Array ){

//直接递归操作

e.each(fn)

}else{

//如果不是数组 (那就是一个单个元素)

//var obj = true

//fn.apply(obj,[e])

//这的目的就是为了把数组的当前元素 传递给fn函数,并且让函数执行

fn.call(e,e)

}

this.i++

}

this.i == null //释放内存 垃圾回收机制回收变量

}

}catch(err){

//do something

}

return this

}

arr.each(function(item){

console.log(item)

})