所以这个回调函数工作正常,但我试图获取我的对象中受.map函数影响的每个数组的键字符串(参见下面的数据)。
我的JSON对象具有以下结构:
data = object->
users: Array [3]
0: joe
1: mike
2: jon
friends: Array[2]
0: steve
1: peter
我希望能够打印出用户'和朋友'并将它们存储在对象的语言属性中。
success: function (data) {
console.log(data);
response($.map(data, function (item) {
var array = item;
var entities = [];
if (array.length > 0) {
entities.push({ header: true, language: array }); //my feeble attempt, which print out [object, object] of course
}
for (i = 0; i < array.length; i++) {
var entity = array[i];
entities.push({
label: entity.name,
value: entity.name,
link: entity.link
});
}
return entities;
}));
}
答案 0 :(得分:1)
我假设$
指的是jQuery。
因此对于$.map
,如果第一个参数是一个对象,那么回调函数可以接收两个参数:属性和密钥字符串。
要获取密钥字符串,只需添加第二个参数:
response($.map(data, function (item, key) {
console.log(key)
}));
然后您会看到users
和friends
已打印。
同样,如果$.map
的第一个参数是数组,则可以使用第二个参数获取数组索引
有关详细信息,请参阅jQuery doc:http://api.jquery.com/jQuery.map/