Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JSON和Javascript(ES6)的复杂过程_Javascript_Json_Reactjs - Fatal编程技术网

使用JSON和Javascript(ES6)的复杂过程

使用JSON和Javascript(ES6)的复杂过程,javascript,json,reactjs,Javascript,Json,Reactjs,好的,我必须这样做: 以及: 1-按字母顺序列出类别(并筛选以显示唯一值) 2-以订阅价格的总和作为参数,按升序排列此数组 非常感谢 试试这个 let json=[{ “id”:“9b565b11-7311-5b5e-a699-97873dffb361”, “姓名”:“语音报告”, “说明”:“电话报告和电话分析”, “类别”:[“语音分析”、“报告”、“优化”], “订阅”:[{ “名称”:“审判”, “价格”:0 }, { “姓名”:“专业人士”, “价格”:3500 } ] }, {

好的,我必须这样做:

以及:

1-按字母顺序列出类别(并筛选以显示唯一值)

2-以订阅价格的总和作为参数,按升序排列此数组

非常感谢

试试这个

let json=[{
“id”:“9b565b11-7311-5b5e-a699-97873dffb361”,
“姓名”:“语音报告”,
“说明”:“电话报告和电话分析”,
“类别”:[“语音分析”、“报告”、“优化”],
“订阅”:[{
“名称”:“审判”,
“价格”:0
},
{
“姓名”:“专业人士”,
“价格”:3500
}
]
},
{
“id”:“470fedc5-489e-5acb-a200-c85adaa18356”,
“名称”:“电源拨号器”,
“说明”:“自动拨号器,可帮助您提高连接速率和通话时间。”,
“类别”:[“拨号器”],
“订阅”:[{
“名称”:“审判”,
“价格”:0
},
{
“姓名”:“专业人士”,
“价格”:4500美元
},
{
“名称”:“高级”,
“价格”:6000
}
]
},
{
“id”:“52714d80-e3c4-5593-b9a3-e2ff484be372”,
“名称”:“智能文本”,
“说明”:“使用短信帮助您与客户沟通。”,
“类别”:[“频道”],
“订阅”:[{
“名称”:“审判”,
“价格”:0
}]
},
{
“id”:“8d68c357-59e6-505a-b0e1-4953196b14df”,
“姓名”:“客户聊天室”,
“说明”:“通过实时聊天支持改善您的呼叫中心。”,
“类别”:[“频道”],
“订阅”:[{
“名称”:“审判”,
“价格”:0
}]
},
{
“id”:“dd024ed5-efae-5785-addc-09e592066e5c”,
“名称”:“Report Plus”,
“说明”:“使用自定义仪表板的高级报告”,
“类别”:[“报告”],
“订阅”:[{
“名称”:“初学者”,
“价格”:2000年
},
{
“名称”:“加”,
“价格”:4500美元
}
]
},
{
“id”:“f820ad5d-32d0-5bb7-aed4-cbc74bcf0b47”,
“名称”:“屏幕共享”,
“说明”:“允许代理和客户之间共享屏幕。”,
“类别”:[“生产力”],
“订阅”:[{
“姓名”:“专业人士”,
“价格”:6000
}]
},
{
“id”:“7f89f001-9d7d-52f1-82cb-8f44eb1e4680”,
“姓名”:“视频联系人”,
“说明”:“使用视频电话与您的客户和代理商沟通。”,
“类别”:[“生产力”],
“订阅”:[{
“名称”:“审判”,
“价格”:0
},
{
“姓名”:“专业人士”,
“价格”:2500美元
}
]
},
{
“id”:“32be8940-aeb6-5325-ae63-6497772f362a”,
“名称”:“代理监视器”,
“说明”:“监控代理活动的更多工具。”,
“类别”:[“生产力”、“管理”],
“订阅”:[{
“名称”:“审判”,
“价格”:0
},
{
“姓名”:“专业人士”,
“价格”:3000美元
}
]
},
{
“id”:“b4e7899b-07ba-55b1-9ed3-c38b878623fe”,
“姓名”:“很棒的电话”,
“说明”:“使用语音分析优化呼叫中心的工具。”,
“类别”:[“优化”、“语音分析”],
“订阅”:[{
“名称”:“审判”,
“价格”:0
},
{
“姓名”:“专业人士”,
“价格”:5000
},
{
“名称”:“企业”,
“价格”:10000美元
}
]
},
{
“id”:“d8652502-f8f2-5c35-8de5-b9adfebbf4cf”,
“名称”:“已编写脚本”,
“说明”:“帮助您的代理使用脚本与客户沟通。”,
“类别”:[“生产力”、“优化”],
“订阅”:[{
“名称”:“审判”,
“价格”:0
},
{
“姓名”:“专业人士”,
“价格”:4000美元
}
]
}
];
json.sort((a,b)=>{
让sumA=a['subscriptions'].reduce((累加器,当前)=>{
返回累加器+当前[‘价格’];
}, 0);
让sumB=b['subscriptions'].reduce((累加器,当前)=>{
返回累加器+当前[‘价格’];
}, 0);
返回sumA-sumB;
});
让categories=json.reduce((累加器,当前)=>{
返回累加器.concat(当前['categories'])。筛选器((值、索引、自身)=>{
返回self.indexOf(value)==索引;
});
},[]).sort();
log(json);
控制台日志(类别)