array.length返回零,即使它有一个值

时间:2018-04-20 06:07:29

标签: javascript arrays angularjs

此代码返回的长度为0,即使它有一个值。

示例代码:

for (var q = 0; q < data.data.length; q++) {
var test1 = {
    imgId: data.data.imgId,
    imgString: data.data.imgString
};
vm.imgArr.push(test1);}

console.log(vm.imgArr.length); // returning zero

示例数据:

data.data = [
{
    "imgId": "asdasd21321312312asdad",
    "imgString": "heasjahdasdjashdjashd"
},
{
    "imgId": "asdasd21321312312asdad",
    "imgString": "heasjahdasdjashdjashd"
},
{
    "imgId": "asdasd21321312312asdad",
    "imgString": "heasjahdasdjashdjashd"
}];

1 个答案:

答案 0 :(得分:1)

你错误地准备了for循环中的数据。您应该使用索引data.data

data.data[q].imgId获取值

尝试这个而不是你的for循环。

for (var q = 0; q < data.data.length; q++) {
var test1 = {
    imgId: data.data[q].imgId,
    imgString: data.data[q].imgString
};
vm.imgArr.push(test1);}

您可以查看以下代码段

&#13;
&#13;
var data={};

data.data = [
{
    "imgId": "asdasd21321312312asdad",
    "imgString": "heasjahdasdjashdjashd"
},
{
    "imgId": "asdasd21321312312asdad",
    "imgString": "heasjahdasdjashdjashd"
},
{
    "imgId": "asdasd21321312312asdad",
    "imgString": "heasjahdasdjashdjashd"
}];

var vm={imgArr:[]};
for (var q = 0; q < data.data.length; q++) {
var test1 = {
    imgId: data.data[q].imgId,
    imgString: data.data[q].imgString
};
vm.imgArr.push(test1);}

console.log(vm.imgArr);
&#13;
&#13;
&#13;