如何解决将数组对象转换为对象数组
我具有以下格式的源数据(数组对象):
{
value: [
59,58,62,56,57,65,81,81
],dayOfWeek: [
'Thursday','Friday','Saturday','Thursday','Monday','Tuesday'
],dayOrNight: [
'N','D','N','N'
]
}
我想将数据转换为以下格式(对象数组):
[
{
value: 59,dayOfWeek: 'Thursday',dayOrNight: 'N'
},{
value: 58,dayOfWeek: 'Friday',dayOrNight: 'D'
},{
value: 62,dayOfWeek: 'Saturday',...
]
这与this question相反。
执行此命令的适当组合是什么,无论使用例如lodash还是其他?
解决方法
结合map
方法并通过键访问对象,可以达到预期的效果:
data.value.map((s,i) => ({value: s,dayOfWeek: data.dayOfWeek[i],dayOrNight: data.dayOrNight[i]}));
一个例子:
let data = {
value: [
59,58,62,56,57,65,81,81
],dayOfWeek: [
'Thursday','Friday','Saturday','Thursday','Monday','Tuesday'
],dayOrNight: [
'N','D','N','N'
]
};
const result = data.value.map((s,dayOrNight: data.dayOrNight[i]}));
console.log(result);
更新:
这稍微修改了您的方法:
let data = {
value: [
59,'N'
]
};
const result = Object.values(data)[0].map((s,i) => {
let obj = {};
for (let key in data) {
obj[key] = data[key][i];
}
return obj;
});
console.log(result);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。