Javascript lodash flatten hierarchical object
Javascript lodash flatten hierarchical object
我有分层的json。我想把它压平。这是我的json:
{
"id": "111",
"name": "v5",
"define": {
"system": "abc",
"concept": [{
"code": "y7",
"concept": [{
"code": "AGG",
"display": "Abcess"
}, {
"code": "ABS",
"display": "Abcess"
}]
}, {
"code": "y8",
"concept": [{
"code": "AGc",
"display": "ccc"
}, {
"code": "hjj",
"display": "uii"
}]
}]
}
}
有没有办法在lodash
中将此json扁平化为仅"代码,显示"数组?
如果没有,是否有其他库可以做到这一点?谢谢。
例如结果:
[{
"code": "AGG",
"display": "Abcess"
}, {
"code": "ABS",
"display": "Abcess"
}, {
"code": "AGc",
"display": "ccc"
}, {
"code": "hjj",
"display": "uii"
}]
具有Array#forEach()
的解决方案。
var data = { "id": "111", "name": "v5", "define": { "system": "abc", "concept": [{ "code": "y7", "concept": [{ "code": "AGG", "display": "Abcess" }, { "code": "ABS", "display": "Abcess" }] }, { "code": "y8", "concept": [{ "code": "AGc", "display": "ccc" }, { "code": "hjj", "display": "uii" }] }] } },
flat = function (array) {
var r = [];
array.forEach(function (a) {
a.concept.forEach(function (b) {
r.push(b);
});
});
return r;
}(data.define.concept);
document.write('<pre>' + JSON.stringify(flat, 0, 4) + '</pre>');
有没有办法在 lodash 中将此 json 扁平化为"代码"数组, 只玩"?
你的意思是连接所有concept
孩子?
试试这个
var obj = {
"id": "111",
"name": "v5",
"define": {
"system": "abc",
"concept": [{
"code": "y7",
"concept": [{
"code": "AGG",
"display": "Abcess"
}, {
"code": "ABS",
"display": "Abcess"
}]
}, {
"code": "y8",
"concept": [{
"code": "AGc",
"display": "ccc"
}, {
"code": "hjj",
"display": "uii"
}]
}]
}
}
var output = [];
obj.define.concept.forEach(function(o) {
output = output.concat(o.concept)
});
document.write("<pre>" + JSON.stringify(output, 0, 4) + "</pre>");
相关文章:
- 函数未在Object.keys或Object.getOwnPropertyNames下列出,但可以调用
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- 有没有一种方法可以列出Ember.Object的所有绑定
- 如何取消object.prototypes javascript的一个函数
- 为什么是文档.旧版应用程序中的DOM-object.properties为null
- 将*.js文件的内容放入Object中
- Object.prototype using 'this'
- 使用Object.create()的角度服务继承
- 如何使用object.assign()从其他对象引用基本对象属性
- 循环的数组推入在Object容器中具有不同的值
- reducers在redux中得到Function not Object,what'it’他错了
- JSON.stringify和Object.keys在同一个对象上产生不同的结果
- 在使用object.create创建的对象中使用super
- Join架构验证:Join.object定义数组中的有效键
- jquery打印[object XMLDocument]而不是文件内容
- ExtJS 4 Object.prototype fail
- JavaScript-从对象数组中输出随机OBJECT
- 为什么“{}+1”在Chrome和Firefox中排名第一,而字符串'[object object]1'
- 什么是“;原型;通过JavaScript中的Object Literal Notation创建的对象的链接
- Javascript lodash flatten hierarchical object