从json获取数组键

时间:2015-04-18 07:42:03

标签: javascript jquery json

所以这个回调函数工作正常,但我试图获取我的对象中受.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;
    }));
}

1 个答案:

答案 0 :(得分:1)

我假设$指的是jQuery。

因此对于$.map,如果第一个参数是一个对象,那么回调函数可以接收两个参数:属性和密钥字符串。

要获取密钥字符串,只需添加第二个参数:

response($.map(data, function (item, key) {
    console.log(key)
}));

然后您会看到usersfriends已打印。

同样,如果$.map的第一个参数是数组,则可以使用第二个参数获取数组索引

有关详细信息,请参阅jQuery doc:http://api.jquery.com/jQuery.map/

相关问题