javascript - 将 JavaScript 对象项放入单独的数组中

标签 javascript

我需要像这样获取一组对象......

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'
];

推理

我正在使用弹出框选择器库构建它...

enter image description here

库只接受显示为每个项目的单个数据数组。在此图像中,它是用户名。

(澄清一下,上图是我手动将缩略图图像添加到 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/

相关文章:

javascript - .append() 方法不会正确附加 php

javascript - 当前时间是否在 X 和 Y 时间之间?

javascript - 使用 jQuery 在随机位置附加内容?

javascript - X 轴开始和结束标签未显示

javascript - 如何在循环中使用对象的新版本而不被覆盖?

javascript - Angular Universal ReferenceError - KeyboardEvent 未定义

javascript - 如何修复 "My first scan value is not same as my second scan value and the value scan in HTML is not same as value scan in notepad?"

javascript - 如何在 Asp.net mvc 中使用 Angular 插入系统日期和其他数据

javascript - 为什么 javascript 不生成函数的输出?

javascript - React - 向下滚动时向上滑动固定导航栏,向上滚动时向下滑动