繁体   English   中英

无法获取javascript中对象属性的数组长度

[英]unable to get array length of object property in javascript

定义了一个简单的javascript对象,并将数组分配给了一个属性,但无法获取数组的长度。 以下代码返回2而不是1。

//activity object
var activity={
    timer:0,
    questions_completed:new Array(2),
    knifes:0,
    getTimer:function(){
        return timer; 
    } 
};

alert(activity.questions_completed.length); //getting 2?

带有单个参数作为数字传递给它的new Array将创建具有特定长度的数组:

var arr = new Array(2);

arr;
// -> [undefined, undefined]

arr.length;
// -> 2

而是使用[]表示法:

var arr = [2];

arr;
// -> [2]

arr.length;
// -> 1

var activity = {
    timer:0,
    questions_completed: [2],
    knifes:0,
    getTimer:function(){
        return timer; 
    } 
};

alert(activity.questions_completed.length);
// 1

下面的行定义数组的长度为2,但是您没有在数组中推送任何项目,该长度将显示为2,这是绝对正确的。

issues_completed:新数组(2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM