javascript - 将对象转换为具有 lodash 中父子关系的数组

标签 javascript arrays object typescript lodash

这可以用 lodash 或任何其他 javascript/typescript 方式实现吗

var obj = {
    a: [ {id:1},{id:2},{id:3}]
    b: [ {id:4},{id:5},{id:6}]
    c: [ {id:7},{id:8},{id:9}]
}
// transform to 
var arr = [
{title:a, items:[{id:1},{id:2},{id:3}]},
{title:b, items: [ {id:4},{id:5},{id:6}]},
{title:c, items: [ id:7},{id:8},{id:9}]}
]

最佳答案

您可以使用Object.keys来实现:

var obj = {
    a: [ {id:1},{id:2},{id:3}],
    b: [ {id:4},{id:5},{id:6}],
    c: [ {id:7},{id:8},{id:9}]
}

var result = Object.keys(obj).map(function(key) {
  return { title: key, items: obj[key] }
})

console.log(result);

关于javascript - 将对象转换为具有 lodash 中父子关系的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42616069/

相关文章:

javascript - KnockoutJS 不更新 View

C++ fast-cpp-csv-parser 到数组

python - 通过最小值和最大值快速过滤 Python 数组中的元素

PHP 属性作为对象

javascript - 我可以使用哪些方法来操作对象中数组的数据? (仅限伪代码)

java - 将构造函数与 Integer 一起使用

javascript - 为什么我的代码会出现 "maximum call stack size exceeded"错误?

javascript - 从表单提交中获取 JSON 响应

javascript - 在 Sequelize.js 中收到验证器错误

python - 用通过列表生成行的行创建矩阵 Python