将对象添加到数组中

时间:2015-04-24 16:10:30

标签: javascript jquery angularjs

我有以下对象:

{
  "EekvB3cnwEzE":{
     "name":"hi",
  },
  "Brv1R4C6bZnD":{
     "name":"yup",
  },
  "kRwRXju6ALJZ":{
     "name":"okay",
  }
}

我正在尝试将这些项目添加到数组中。我执行以下代码但由于某种原因,我在[]

中返回console.log

有人能帮我弄清楚出了什么问题吗?

$scope.items = [];

$http.get("/url").success(function(data) {
    $.each(data, function(key, value) { $scope.items[key] = value; });
    console.log($scope.items);
});

2 个答案:

答案 0 :(得分:4)

记录数组时,将忽略命名键。

如果您希望它们显示在那里,您需要使用数字替换key(在此代码$scope.items[key]中)或使用.push(value)代替作业。

答案 1 :(得分:0)

你的ajax电话一定有问题。因为以下工作:

import sys
import chilkat

compress = chilkat.CkCompression()

#  Any string argument automatically begins a 30-day trial.
success = compress.UnlockComponent("30-day trial")
if (success != True):
    print "Compression component unlock failed"
    sys.exit()

compress.put_Algorithm("ppmd")

#  Decompress back to the original:
success = compress.DecompressFile("t.zipx", "t")
if (success != True):
    print compress.lastErrorText()
    sys.exit()

print "Success!"

它会记录:

var x = [];
$.each({
  "EekvB3cnwEzE":{
     "name":"hi",
  },
  "Brv1R4C6bZnD":{
     "name":"yup",
  },
  "kRwRXju6ALJZ":{
     "name":"okay",
  }
}, function(key, value){
    x[key] = value;
});
console.log(x);