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

Javascript 为什么最后一个元素被称为;删除“;,javascript,django,json,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 HttpRespon

我从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')
我正在使用,其中有一个获取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) {
...
}
如果我发出
警报(节点)
我会得到:

0
1
remove
这是什么
删除

此循环应该只通过2次,因为您正在迭代得到的列表对象的属性名。它包含元素索引,但也包含可枚举函数的名称

不要。像在数组上一样迭代

替换

for(var node in data) {


for(var i=0;iIt工作,谢谢!!。我如何查看函数?我的意思是,我使用
toSource()
查看属性。有什么可以查看函数吗?例如,可以记录
data[node]
,或者执行
console.dir(data.constructor.prototype)
。但是查看您使用的库的源代码或文档可能更简单。
for(var i=0; i<data.length; i++) {
   var node=data[i];