javascript - 如何拆分对象内部的字符串并将它们插入数组? JavaScript

标签 javascript arrays object ecmascript-6 reactjs

我收到一个对象,每次它都有不同数量的字符串,每次都不同

Object {
    key_id: 7, 
    key1: "String1, String2", 
    key2: "String1, String2, String3", 
    key3: "String1, String2", 
    key4: "String1, String2";
    …
}

我想收到

Array = [{key_id: 7, key1: "String1", key1: "String2" ...}]

Array = [{key_id: 7, key1: "String1", "String2" ...}]

我需要将这些字符串分开,以便将它们分开的链接。 我正在使用 JSX/Babel ES6 在 ReactJs 上实现它

最佳答案

使用Object#entries转换为[键,值]对的数组,并Array#map它们:

const data = {
  key_id: 7, 
  key1: "String1, String2", 
  key2: "String1, String2, String3", 
  key3: "String1, String2", 
  key4: "String1, String2"
};

const result = Object.entries(data).map(([key, value]) => ({
  [key]: typeof value === 'string' ? value.split(', ') : value
}));

// an array with multiple objects
console.log(result);

// A single object:
console.log(Object.assign({}, ...result));

请注意,Object#entries 不是 ES6 的一部分,并且不受 IE 和 Edge 支持。

关于javascript - 如何拆分对象内部的字符串并将它们插入数组? JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44821770/

相关文章:

arrays - 类型 '[Double]?' 的值没有成员 'append'

python - Robot Framework导入库实例不包含定义的方法

javascript - 如何修改 html select 以显示具有匹配数据属性的所有选项?

javascript - 使用 List.js 使用类或数据属性进行过滤

javascript - 使用 grunt 构建整个 Angular 项目

javascript - 如何从索引和键更新本地存储对象值

javascript - ReactFire - 将 Firebase 绑定(bind)到 React 状态时获取 'Objects are not valid as a React child'

javascript - 在 Google 图表中动态加载行和列

javascript - 全局对象中 __proto__ 和 [[prototype]] 之间的区别?

java - 我可以将 Spannable 转换为 Android 中的字符串以加载 ExpandableListView 吗?