Javascript 重新排列json生成的表列顺序

Javascript 重新排列json生成的表列顺序,javascript,html,jquery,Javascript,Html,Jquery,我已经用json数据创建了一个表,并希望生成管道价值的总和,我只按预期对提交的、合格的和协商的合同进行了计算 我只想显示水平总值和管道值,我有三个值(建议提交、合格和协商承包)。是否有可能安排合格的总额、管道价值、最终赢得、水平确定。 我试图计算出legth>=2的总数 var orderedObj={“限定”:0, “提交的提案”:1, “谈判与合同”:2,//总计,如果响应中出现任何值,则管道 “封闭韩元”:3, “评估中的质量”:4, “确定”:5, “推迟的机会”:6, “封闭丢失”:

我已经用json数据创建了一个表,并希望生成管道价值的总和,我只按预期对提交的、合格的和协商的合同进行了计算

我只想显示水平总值和管道值,我有三个值(建议提交、合格和协商承包)。是否有可能安排合格的总额、管道价值、最终赢得、水平确定。 我试图计算出
legth>=2的总数

var orderedObj={“限定”:0,
“提交的提案”:1,
“谈判与合同”:2,//总计,如果响应中出现任何值,则管道
“封闭韩元”:3,
“评估中的质量”:4,
“确定”:5,
“推迟的机会”:6,
“封闭丢失”:7
};
常数汇总数据=[
{Geo:“美国西部”,SalesStage:“封闭韩元”,计数:2,管道价值:356},
{Geo:“美国东部”,SalesStage:“封闭韩元”,计数:8,管道价值:35},
{Geo:“美国西部”,SalesStage:“合格”,计数:16,管道值:6},
{Geo:“美国东部”,SalesStage:“合格”,计数:3,管道值:3},
{Geo:“美国东部”,SalesStage:“已识别”,计数:50,管道值:6},
{Geo:“美国西部”,SalesStage:“已识别”,计数:39,管道价值:3},
{Geo:“NSU”,SalesStage:“已识别”,计数:20,管道值:8}];
//summary_data.sort((a,b)=>orderedObj[a.salestage]-orderedObj[b.salestage]);
汇总数据排序(功能(a、b){
a=a.Geo.toLowerCase();
b=b.Geo.toLowerCase();
返回ab-1:0;
});
//控制台日志(摘要数据);
//收集结尾表中的标题
const stages=汇总数据。reduce((res,row)=>{
//控制台日志(res);
//控制台日志(行);
如果(!res.includes(row.salestage))res.push(row.salestage);
返回res;
},[]).concat('Total');//[“已成交”、“合格”、“已确认”、“总计”]
//控制台。日志(阶段。长度);
/*
const stages=汇总数据。reduce((res,row)=>{
//控制台日志(res);
//控制台日志(行);
如果(!res.includes(row.salestage))res.push(row.salestage);
返回res;
}, []);
如果(阶段长度>=2)
阶段=阶段..concat('Total')//捕获到无法修改常量
*/
//收集每个地理位置的每个字段
const obj=汇总数据。减少((res,row)=>{
如果(!res[row.Geo]){
res[row.Geo]=Object.fromEntries([['Geo',row.Geo],'Pipeline Value',row.pipelinevalue],…stages.map(s=>[s,0]);
}
res[row.Geo][row.SalesStage]+=row.count;
if(row.salestage=='Proposal Submitted'| | row.salestage=='Qualified'| | | row.salestage=='Negotiation&Contracting')
res[row.Geo].Total+=row.count;
返回res;
}, {}); // {“美国西部”:{},“美国东部”:{},…}
常量地理数据=对象值(obj);//[{“Geo”:“美国西部”,“封闭韩元”:2,…},…]
const pipelineval=汇总数据.reduce((res,row)=>{});
//添加“总计”行
地理数据推送({
地理:总计,
PipelineValue:“”,
…Object.fromEntries(
stages.map(s=>[s,geodata.reduce((和,行)=>行[s]+和,0)])
)
});
$('geo#u summary thead')。追加(
Object.keys(geodata[0]).map(x=>$('').text(x))
);
$('geo#u摘要tbody')。追加(
geodata.map(行=>$('').append(
Object.values(行).map(x=>$('').text(x))
))
);  

表{border collapse:collapse}td{border:1px solid#000;padding:.5em}