为什么最后一个元素被称为“删除”

时间:2013-11-06 16:46:25

标签: javascript django json

我开始使用django。

我在javascript中使用了json:

views.py:
a = ModelA.objects.filter(status = 'A').values('name', 'id', 'pos', 'status')
b = ModelA.objects.filter(status = 'B').values('name', 'id', 'pos', 'status')
data = {
    'a': a,
    'b': b,
}
return HttpResponse(simplejson.dumps(data), mimetype='application/json')

我正在使用nodeshot,其中有一个函数来获取json:

$.getJSON(nodeshot.url.index+"nodes.json", function(data) {
        nodeshot.nodes = data;
    });

但是当我这样做时:

var data = nodeshot.nodes[status];         //'a' for example
for(var node in data) {
...
}

如果我alert(node)我得到:

0
1
remove

这是remove是什么? 这个循环应该只通过2次

1 个答案:

答案 0 :(得分:2)

因为您正在迭代所获得的列表对象的属性名称。它包含元素索引,但也包含可枚举函数的名称。

别。在数组上迭代。

替换

for(var node in data) {

for(var i=0; i<data.length; i++) {
   var node=data[i];