【问题标题】:want to convert the values of data in an object to array想要将对象中的数据值转换为数组
【发布时间】:2021-10-02 10:06:55
【问题描述】:

我有一个这样的对象

{make: 'Audi,BMW,Cadillac', model: 'RDX,Mop,Rvn'}

如何将它转换成这个

{make: ['Audi','BMW','Cadillac'], model: ['RDX','Mop','Rvn']}

【问题讨论】:

  • 您确定要使用 one 元素而不是多个元素的数组吗(例如:['Audi', 'BMW', 'Cadillac'] 而不是 ['Audi,BMW,Cadillac'])?到目前为止,您为实现这一目标做了什么尝试/您在努力解决什么问题?

标签: javascript arrays json object


【解决方案1】:

Object.entriesObject.fromEntries 函数可以很好地处理这种情况。

const data = {make: 'Audi,BMW,Cadillac', model: 'RDX,Mop,Rvn'};

const dataWithArrays = Object.fromEntries(
    Object.entries(data)
        .map(([key, value]) => [key, value.split(',')])
);

console.log(dataWithArrays);

【讨论】:

  • 它的显示如下 ['Audi,BMW,Cadillac'] 我想要的是 ['Audi','BMW','Cadillac']
  • 现在可以使用了,谢谢
  • 最初这个问题的框架不同。我已经更新了答案以反映问题的变化。
【解决方案2】:

这是你需要的

obj.make = obj.make.split(",")

obj.model = obj.model.split(",")

【讨论】:

    【解决方案3】:

    使用Object.keysArray.reduceString.split,简单易行

    const data = {make: 'Audi,BMW,Cadillac', model: 'RDX,Mop,Rvn'};
    
    const res = Object.keys(data)
       .reduce((acc, k) => (acc[k] = data[k].split(','), acc), {})
    
    console.log(res);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多