javascript - 为什么最后一个元素被称为 "remove"

标签 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 次

最佳答案

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

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

替换

for(var node in data) {

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

关于javascript - 为什么最后一个元素被称为 "remove",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19817811/

相关文章:

javascript - jQuery 和 CSS 的窗口大小问题

javascript - 淡入/淡出鼠标进入/鼠标离开,停止队列

javascript - Chrome 扩展 : Getting the document. images.length 来自当前页面,而不是弹出窗口。 (Javascript)

python - ImportError:没有名为weather_Core_Engine.weather_DB_Handler的模块

python - 如何使用 Django-Rest-Framework(多对多)按唯一属性进行查询

C++ RapidJSON 清除写入的字符串

json - 如何从维基百科页面获取表格数据?

javascript - 从嵌套的 json 响应中提取数据

Javascript - 如何迭代对象中键的值?

python - Django 和 lxml 中的解码问题