Javascript JSON到Html表,每2个对象合并一行

Javascript JSON到Html表,每2个对象合并一行,javascript,jquery,html,Javascript,Jquery,Html,比方说,我有一个对象数组: var jsonData = [{ "Mass": "3", "Force": "3.1", "Acceleration": "3" }, { "Mass": "3", "Force": "4.1", "Acceleration": "3" }, { "Mass": "4", "Force": "4.1", "Acceleration": "4" }, { "Mass": "4",

比方说,我有一个对象数组:

var jsonData = [{
    "Mass": "3",
    "Force": "3.1",
    "Acceleration": "3"
}, {
    "Mass": "3",
    "Force": "4.1",
    "Acceleration": "3"
}, {
    "Mass": "4",
    "Force": "4.1",
    "Acceleration": "4"
}, {
    "Mass": "4",
    "Force": "4.1",
    "Acceleration": "4"
}, {
    "Mass": "0",
    "Force": "0",
    "Acceleration": "0"
}, {
    "Mass": "0",
    "Force": "0",
    "Acceleration": "0"
}];
我想要的是将这个JSON转换成这样的表,用于每个 两个连续对象,其中质量和加速度单元合并


您可以使用
reduce
方法和
%
操作符将元素添加到每第二个元素的数组中,然后基于该新数组构建表

var jsonData=[{“质量”:“3”,“力”:“3.1”,“加速度”:“3”},{“质量”:“3”,“力”:“4.1”,“加速度”:“3”},{“质量”:“4”,“力”:“4.1”,“加速度”:“4”},{“质量”:“4”,“力”:“4.1”,“加速度”:“4”},{“质量”:“0”,“加速度”:“0”{“质量”:“0”,“力”:“0”,“加速度”:“0”}]
const result=jsonData.reduce((r,e,i,a)=>{
//当索引为0、2、4…(每2秒)
如果(i%2==0){
//同时获取下一个元素1、3、5
常数next=a[i+1];
//创建当前元素的副本并强制为数组
const obj={…e,Force:[e.Force]}
//若有下一个元素,将其力推到阵列上
如果(下一个)目标力推(下一个力);
//把那个新物体推到收集器上
r、 推送(obj)
}
返回r;
}, []);
常数表=$(“表”);
const thead=table.find('thead');
const tbody=table.find('tbody');
Object.key(结果[0]).forEach(key=>{
附加($(''){
文本:键
}))
})
result.forEach(e=>{
常量行=$(“”);
行。追加($(''){
正文:e.Mass
}));
恒力=$('');
e、 Force.forEach(f=>{
常量forceRow=$(“”);
forceRow.append($(''){
正文:f
}));
force.append(forceRow);
});
行。追加(强制);
行。追加($(''){
正文:e.加速度
}));
tbody.append(行)
})

这似乎很酷。你能补充一些关于如何减少jsonData的解释吗?这似乎有点难以理解。谢谢