javascript - 使用 with key 将数组转换为对象

标签 javascript arrays underscore.js lodash

我需要将数组转换为具有键值的对象。我尝试过一些代码。但没有得到确切的结果。我可以使用 lodash 或 underscore js 来实现吗?

array = [
    {
        facebook: 'disneyland',
        preview_image_url: 'http: //amt.in/img/amt_logo_big.png'
    },
    {
        preview_image_url: 'http: //amt.in/img/amt_logo_big.png'
        twitter: 'disneyland',
    },
    {
       preview_image_url: 'http: //amt.in/img/amt_logo_big.png'
        linkedin: 'disneyland',
    },
    {
        xing: 'disneyland',
        preview_image_url: ''
    },
    {
        preview_image_url: 'http: //amt.in/img/amt_logo_big.png',
        weibo: 'disneyland'
    } 
]

预期输出

result = {
    facebook: {
        facebook: 'disneyland',
        preview_image_url: 'http: //amt.in/img/amt_logo_big.png'
    },
    twitter: {
        twitter: 'disneyland',
        preview_image_url: 'http: //amt.in/img/amt_logo_big.png'
    },
    linkedin: {
        linkedin: 'disneyland',
        preview_image_url: 'http: //amt.in/img/amt_logo_big.png'
    },
    xing: {
        linkedin: 'disneyland',
        preview_image_url: 'http: //amt.in/img/amt_logo_big.png'
    },
    weibo: {
        linkedin: 'disneyland',
        preview_image_url: 'http: //amt.in/img/amt_logo_big.png'
    }
}

我已经尝试过了

var newnwcontent = {};
array.forEach(function (network) {
                                var name = Object.keys(network)[0];
                                newnwcontent[name] = network;
                            });

最佳答案

您需要检查属性键,不保证索引0

var newnwcontent = {}

array.forEach(function(el) {
  var keys = Object.keys(el)
  var key = keys[0] == 'preview_image_url' ? keys[1] : keys[0]
  newnwcontent[key] = el
})

关于javascript - 使用 with key 将数组转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30680374/

相关文章:

javascript - 执行 JavaScript 代码的尴尬方式

javascript - 使用javascript检查哈希中的所有值

Javascript:在 URL 后添加参数

javascript - 我的主干下划线模板引用错误?

javascript - 多次订阅 Observable 与订阅一次并共享结果

java - ArrayList 内部 T[] 数组的实例化

python - Numpy 2D 数组沿特定轴由其他 2D 索引

java - 返回数组的位置

JavaScript 通过 id 合并对象

javascript - 让简单的搜索算法更优雅