作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我当前的 JSON 如下所示
{
"_id": "5371f7171b27d11418bd9b46",
"name": "a",
"length": 14
},
{
"_id": "5371f7171b27d1143bd9b46",
"name": "ab",
"length": 3
}
我正在努力让它看起来像这样,
5371f7171b27d11418bd9b46: {
name: "a",
length: 14,
toc: [] // in the future it will be in the json I get.
},
5371f7171b27d1143bd9b46: {
name: "ab",
length: 3,
toc: []
}
这是我尝试过的
var arrenged = {};
_.forEach(result, function(item) {
arrenged[item._id] = arrenged[item._id] || {};
arrenged[item._id][item.name] = arrenged[item._id][item.name] || {};
arrenged[item._id][item.name].push(item);
arrenged[item._id]['direction'] = 'rtl';
arrenged[item._id]['toc'] = "[]";
});
res.jsonp(arrenged);
但我得到 TypeError: Object # has no method 'push',不知道我做错了什么。谢谢!
最佳答案
可以这样做:
var newObject = {};
for (var i = 0; i < data.length; i++) { //data is your current array of objects
var id = data[i]._id;
newObject[id] = {};
newObject[id].name = data[i].name;
newObject[id].length = data[i].length;
newObject[id].toc = [];
}
fiddle :http://jsfiddle.net/KWjb3/
关于javascript - 从令人兴奋的 Nodejs 重新构建 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23631240/
背景 我有一个包含多页、一个文本框和一个命令按钮的用户表单。每个多页还具有多个文本框。我希望能够通过制表符(向前和向后)从第一页上的最后一个文本框移动到第二页上的第一个文本框,等等,...,以及从最后
我是一名优秀的程序员,十分优秀!