将数组的数组转换为javascript中的对象

Posted

技术标签:

【中文标题】将数组的数组转换为javascript中的对象【英文标题】:Convert array of an array to object in javascript 【发布时间】:2021-11-06 10:50:03 【问题描述】:

我有一个类似的数组

var arrays = [  
   "name": "aaa", "value": "bbb" ,
   "name": "ccc", "value": "ccc" ,
   "name": "ddd", "value": [ 'ee', 'ff', 'gg' ] 
]

但我需要把它转换成

var arrays = [
   "name": "aaa", "value": "bbb" ,
   "name": "ccc", "value": "ccc" ,
   "name": "ddd", "value": "ee, ff, gg" 
]

【问题讨论】:

你已经尝试了什么? 你应该检查这个 - codezup.com/… 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。 【参考方案1】:
const modifiedArray = array.map(obj => 
      return ...obj, value: obj.value.toString()
)

var array = [  
   "name": "aaa", "value": "bbb" ,
   "name": "ccc", "value": "ccc" ,
   "name": "ddd", "value": [ 'ee', 'ff', 'gg' ] 
]

const modifiedArray = array.map(obj => 
      return ...obj, value : obj.value.toString()
)

console.log(modifiedArray)

【讨论】:

实际上整个命名约定也搞砸了。我们在这里处理一个数组,而不是多个数组。但我确实喜欢函数式方法。这很好。 很好地使用了rest 运算符@kritiz!我第一次看到它用在物体上。 @PeterKA,我第一次对 *** 表示赞赏?,谢谢【参考方案2】:

有很多方法可以做到这一点。这是其中之一:

const array = [  
   "name": "aaa", "value": "bbb" ,
   "name": "ccc", "value": "ccc" ,
   "name": "ddd", "value": [ 'ee', 'ff', 'gg' ] 
];

array.forEach(el=>Array.isArray(el.value) && (el.value=el.value.join(" ,")))

console.log(array)

【讨论】:

【参考方案3】:

虽然这只会检查 1 层深度,但我也不确定你要做什么。

const arrays = [
   name: "aaa", value: "bbb" ,
   name: "ccc", value: "ccc" ,
   name: "ddd", value: ["ee", "ff", "gg"] 
];

const converted = arrays.map(value => 
  let convert =  ...value ;
  for (const key in convert) 
    if (Array.isArray(convert[key])) 
      convert[key] = convert[key].join(", ");
    ;
  ;
  return convert;
);

console.log(converted);

【讨论】:

【参考方案4】:

对@kritiz 的回答稍作调整...

array.map( obj => (...obj, value : [].concat(obj.value).join(', ')) );

演示

let array = [  
   "name": "aaa", "value": "bbb" ,
   "name": "ccc", "value": "ccc" ,
   "name": "ddd", "value": [ 'ee', 'ff', 'gg' ] 
]

let newArray = array.map( obj => (...obj, value : [].concat(obj.value).join(', ')) );

console.log( newArray )

【讨论】:

以上是关于将数组的数组转换为javascript中的对象的主要内容,如果未能解决你的问题,请参考以下文章

Javascript(NodeJs) - 将数组和对象转换为 mysql 中的批量插入(Sequelize)

将数组的每个第n个元素转换为javascript中的对象

在 JavaScript 中将数组转换为对象

csv转换obj

怎样将JAVA中得list集合转换为javascript的二维数组?

在javascript中将字符串转换为对象数组的最佳方法?