【问题标题】:JS - how to convert all keys into its values (from objects)JS - 如何将所有键转换为其值(来自对象)
【发布时间】:2017-07-28 01:34:48
【问题描述】:

我有这样的东西(我是从 API 获得的,所以我不能改变它):

{ one: [ { price: ['$10'], weight: ['1000'], color: ['red'] } ],
  two: [ { price: ['$20'], weight: ['2000'], color: ['green'] } ],
  three: [ { price: ['$30'], weight: ['3000'], color: ['blue'] } ] }

我想将所有“价格”、“重量”和“颜色”键转换为其值,如下所示:

{ one: [ '$10', '1000', 'red' ],
  two: [ '$20', '2000', 'green' ],
  three: [ '$30', '3000', 'blue' ] }

有什么简单的方法吗?

编辑:固定示例
Edit2:想要的结果已修复

【问题讨论】:

  • 您的意思是要转换为:[ '$10', 1000, 'red' ][ { $10, 1000, red } ] 无效
  • 您尝试获取的格式不是有效数据。
  • 请加[Object]
  • 好的,我会尽快编辑帖子。我会将这些对象添加到示例中。 // 完成
  • @Chamov { '$10', '1000', 'red' } 仍然无效。

标签: javascript node.js object type-conversion


【解决方案1】:

您可以使用键映射并将所需属性映射到内部数组。

var object = { one: [ { price: ['$10'], weight: ['1000'], color: ['red'] } ], two: [ { price: ['$20'], weight: ['2000'], color: ['green'] } ], three: [ { price: ['$30'], weight: ['3000'], color: ['blue'] } ] };

Object.keys(object).forEach(function (k) {
    object[k] = [ 'price', 'weight', 'color'].map(function (p) {
        return object[k][0][p][0];
    });
});

console.log(object);
.as-console-wrapper { max-height: 100% !important; top: 0; }

【讨论】:

  • 哦,还有来自 D-Dorf Reisholz 的问候:P
猜你喜欢
  • 2021-12-15
  • 2016-03-18
  • 1970-01-01
  • 2020-02-06
  • 2021-11-03
  • 1970-01-01
  • 2017-09-23
  • 1970-01-01
相关资源
最近更新 更多