我在ajax请求中返回服务器返回的dicts
数组:
var obj = [{'id': '111', 'name': 'test1'}, {'id': '1975', 'name': 'test2'}]
当我尝试访问每个字典时:
$.each(obj,function(index,value){
alert(index + " : " + value);
});
我收到错误:
未捕获的TypeError:无法在'中使用'运营商搜索' 193'在[{' id':' 111',' name':' test1'},{' id': ' 1975',' name':' test2'}]
如何访问阵列中的每个字典?
答案 0 :(得分:1)
我认为您编写的代码没有任何错误,完全正确。
http://jsfiddle.net/neilmalgaonkar/3y79vr4s/
var obj= [{'id': '111', 'name': 'test1'}, {'id': '1975', 'name': 'test2'}];
$.each(obj,function(index,value){
console.log(index, value);
});
从数组中移除 u
答案 1 :(得分:1)
你需要一个$ .each()用于数组,另一个用于处理字典的元素(BTW,大多数JS程序员称之为“对象”)
$.each(obj,function(index,value){
$.each(value, function(index2, value2) {
alert(index2 + " : " + value2);
});
});
答案 2 :(得分:0)
jQuery $.each
函数只是javascripts
for-in循环的包装器。您尝试迭代的对象无效。
循环正在根据该密钥查找key
和value
。但值u'111'
是无效的js对象表示法。
编辑:您说您删除了'u',但错误消息仍然表示您拥有它...
答案 3 :(得分:0)
var obj= [{'id': '111', 'name': 'test1'}, {'id': '1975', 'name': 'test2'}]
$(obj).each(function(index,value){
alert("index: " + index + ", id: " + value.id + ", name: " + value.name);
});