JQuery不是我的强项,但这似乎非常简单,但似乎无法解析这些对象。有人能告诉我哪里出错了吗?
我有一个如下所示的数组:
{"occupation": "Boxer", "id": 2},{"occupation": "Helper", "id": 3}
我的最终结果需要如下所示:(一组id):
[ 2, 3 ]
我尝试使用$.each
迭代data.occupations
数组,但是我得到了一个TypeError。有人可以告诉我为什么这不起作用?
这是我正在使用的循环:
$.each(data.occupations, function (name, value) {
console.log(name);
});
修改
这是Inspector中向我展示的内容:
Object {
name: "Alex Barma",
occupations: "{"occupation": "Boxer", "occup…", 6 more…
}
我刚注意到occupations
不是数组。我是否需要创建一个数组并将对象推入其中然后才能循环它们?
答案 0 :(得分:0)
而不是声明一个空数组并使用$.each
来注入项目,而只需使用jQuery的$.map
函数,例如。
var ids = $.map(data.occupations, function(o) {
return o.id;
});
当然,假设职业是将数组存储在data
对象中的键。
请参阅下面的概念验证代码:
$(function() {
var data = {
occupations: [{
"occupation": "Boxer",
"id": 2
},
{
"occupation": "Helper",
"id": 3
}
]
};
var ids = $.map(data.occupations, function(o) {
return o.id;
});
console.log(ids);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;