我需要像这样获取一组对象......
var users = [{
id: 0,
full_name: 'None',
gravatar_url: 'http://gravatar.com/avatar/31b64e4876d603ce78e04102c67d6144?s=80'
},
{
id: 1,
full_name: 'Jason Davis',
gravatar_url: 'http://gravatar.com/avatar/31b64e4876d603ce78e04102c67d6144?s=80'
},
{
id: 2,
full_name: 'Eric',
gravatar_url: 'http://gravatar.com/avatar/31b64e4876d603ce78e04102c67d6144?s=80'
}];
并从上面的对象构建这 3 个数组。数组键号应全部匹配。所以全名 = Jason Davis 的数组应该匹配 ID 数组上的数组键 1
我的想法是我应该能够通过这样做来重建上面的对象......
id[1]
full_name[1]
gravatar_url[1]
以上这些都应该映射到用户 Jason Davis 的对象。
var id = [0, 1, 2];
var full_name = [
'None',
'Jason Davis',
'Eric'
];
var gravatar_url = [
'http://gravatar.com/avatar/31b64e4876d603ce78e04102c67d6144?s=80',
'http://gravatar.com/avatar/31b64e4876d603ce78e04102c67d6144?s=80',
'http://gravatar.com/avatar/31b64e4876d603ce78e04102c67d6144?s=80'
];
推理
我正在使用弹出框选择器库构建它...
库只接受显示为每个项目的单个数据数组。在此图像中,它是用户名。
(澄清一下,上图是我手动将缩略图图像添加到 DOM 中,库还不接受每个项目的第二个数据)
按照我的问题,我可以将用户图像分配给另一个数组
库像这样构建项目 HTML...
for (var i in this.options.items) {
var itemElement = $(this.options.templates.pickerItem);
itemElement.find('i').html(this.options.items[i]);
itemElement.data('pickerValue', this.options.items[i])
.on('click.picker', itemClickFn);
this.picker.find('.picker-items').append(itemElement);
}
它调用 this.options.items[i]
来获取名称。如果我有自己的第二个图像数组,我可以使用键来显示正确的用户图像及其名称!
最佳答案
最简单的方法是遍历数组并将每个属性插入适当的数组:
var id = [], full_name = [], gravatar_url = [];
for(var i = 0; i < users.length; i++) {
var u = users[i];
id.push(u.id);
full_name.push(u.full_name);
gravatar_url.push(u.gravatar_url);
}
关于javascript - 将 JavaScript 对象项放入单独的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33382937/