如何使用 JavaScript 将对象数组转换为给定格式
How to convert array of objects to given format using JavaScript
我需要使用 JavaScript 格式化数据数组。我正在使用以下数据:
var response = [{
day_id:1,
day_name:"Monday",
subcat_id:"2",
cat_id:"1",
comment:"hii"
}, {
day_id:1,
day_name:"Monday",
subcat_id:"1",
cat_id:"2",
comment:"hello"
}
{
day_id:2,
day_name:"Tuesday",
subcat_id:"3",
cat_id:"2",
comment:"hii"
}]
。我需要将其转换为以下格式
var responseNew = {
data: [{
day_name: "Monday",
day_id:1
answers:[{
cat_id:1,
subcat_id:1,
comment:'hii'
},{
cat_id:1,
subcat_id:2,
comment:'hello'
}]
}, {
day_name: "Tuesday",
day_id:2
answers:[{
cat_id:3,
subcat_id:2,
comment:'hello'
}]
}, {
day_name: "Wednesday"
day_id:3
}, {
day_name: "Thursday"
day_id:4
}, {
day_name: "Friday"
day_id:5
}, {
day_name: "Saturday",
day_id:6
}, {
day_name: "Sunday"
day_id:7
}]
};
我想将我的第一个数组转换为第二种格式。一个条件是,如果其他day_id不存在,它只是按照上面给出的静态设置日期名称和日期 ID。
使用下划线按day_id分组,然后使用 map 渲染您的检查对象
var response = [{
day_id: 1,
day_name: "Monday",
subcat_id: "2",
cat_id: "1",
comment: "hii"
}, {
day_id: 1,
day_name: "Monday",
subcat_id: "1",
cat_id: "2",
comment: "hello"
}, {
day_id: 2,
day_name: "Tuesday",
subcat_id: "3",
cat_id: "2",
comment: "hii"
}];
var responseNew = _.chain(response)
.groupBy("day_id")
.map(function(obj) {
return {
day_name: obj[0].day_name,
day_id: obj[0].day_id,
answers: obj.map(function(o) {
return {
cat_id: o.cat_id,
subcat_id: o.subcat_id,
comment: o.comment
}
})
};
});
console.log(responseNew);
$("#myPre").html(JSON.stringify(responseNew, null, 4));
<script src="http://underscorejs.org/underscore-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<pre id="myPre"></pre>
相关文章:
- 如何使用javascript或html下载PDF格式的填写表单
- 货币代码为欧元-金额的格式不应包含小数
- Json数据包含日期和时间格式
- Javascript日期格式类似于ISO,但本地
- 更改angularjs中的日期-时间格式
- 将日期时间从json转换为可读格式
- NodeJS日期格式不起作用
- 我能得到正确的格式吗
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 将日期和时间转换为UTC格式的日期-Javascript
- Javascript格式UTC日期
- 元素的内容必须由格式正确的字符数据或标记组成
- Datetime格式为Friendly Time.Moment JS输出错误
- 将客户端特定的日期格式返回到服务器MVC4
- 将数字四舍五入到小数点后两位,以设置货币格式
- javascript/jquery将utc转换为短格式的本地时间
- JavaScript生成html格式的密码
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 如何通过数据分组将json数据转换为嵌套的json数据格式