我正在尝试开发一个具有“传输”专业知识的数组,其中包含每个扇区和分配给它们的文本。
这就是我所拥有的:
- 卫生保健 -- 数据驱动的洞察力以改善医疗保健 -- 新颖的数据挖掘和可视化 -- 以人为本的增强和虚拟现实 - 活力 -- 城市分析 -- 了解消费者行为模式 -- 优化能源系统
这就是我想要做的:
- 专业知识(例如运输) -- 部门(例如数据) --- 文本(例如城市分析) --- 文本(例如了解消费者行为模式) --- 文本(例如以人为中心的增强和虚拟现实) -- 部门(例如工程) --- 文本(例如优化能源系统) --- 正文(如高铁与系统集成创新) --- 文本(例如以人为中心的机器人和自主系统) --- 文本(例如跨长度尺度的表面工程) -- 部门(例如环境) ---文本(例如欧洲领先的城市模拟能力) - 专业知识 -- 部门 - - 文本
这是我目前正在使用的代码,如果有人能够提供帮助,我将不胜感激。
var items = [{
"item": {
"id": 0,
"sector": 'Data',
"expertise": ["Healthcare"],
"text": "Data-driven insights to improve healthcare"
}
},
{
"item": {
"id": 1,
"sector": 'Data',
"expertise": ["Energy", "Transport", "Cities"],
"text": "Urban Analytics"
}
},
{
"item": {
"id": 2,
"sector": 'Data',
"expertise": ["Energy", "Transport", "Consumer"],
"text": "Understanding patterns of consumer behaviour"
}
},
{
"item": {
"id": 3,
"sector": 'Data',
"expertise": ["Healthcare", "Consumer"],
"text": "Novel data mining and visualisation"
}
},
{
"item": {
"id": 4,
"sector": 'Data',
"expertise": ["Healthcare", "Transport", "Consumer"],
"text": "Human-centred augmented and virtual realities"
}
},
{
"item": {
"id": 5,
"sector": 'Healthcare',
"expertise": ["Healthcare"],
"text": "Medical technology innovation, translation and convergence"
}
},
{
"item": {
"id": 6,
"sector": 'Healthcare',
"expertise": ["Healthcare"],
"text": "Understanding cardio metabolic disease"
}
},
{
"item": {
"id": 7,
"sector": 'Healthcare',
"expertise": ["Healthcare"],
"text": "Improving early cancer diagnosis and treatment"
}
},
{
"item": {
"id": 8,
"sector": 'Healthcare',
"expertise": ["Healthcare", "Pharmaceuticals"],
"text": "Understanding life in molecular detail"
}
},
{
"item": {
"id": 9,
"sector": 'Healthcare',
"expertise": ["Healthcare"],
"text": "Evidencing treatment through clinical trials"
}
},
{
"item": {
"id": 10,
"sector": 'Engineering',
"expertise": ["Energy", "Transport"],
"text": "Optimising energy systems"
}
},
{
"item": {
"id": 11,
"sector": 'Engineering',
"expertise": ["Energy"],
"text": "Enhancing petroleum recovery"
}
},
{
"item": {
"id": 12,
"sector": 'Engineering',
"expertise": ["Transport"],
"text": "High speed rail and system integration innovation"
}
},
{
"item": {
"id": 13,
"sector": 'Engineering',
"expertise": ["Healthcare", "Electronics"],
"text": "Terahertz frequency electronic and photonic devices"
}
},
{
"item": {
"id": 14,
"sector": 'Engineering',
"expertise": ["Healthcare", "Transport", "Manufacturing"],
"text": "Human-centred robotic and autonomous systems"
}
},
{
"item": {
"id": 15,
"sector": 'Engineering',
"expertise": ["Healthcare", "Energy", "Transport", "Manufacturing"],
"text": "Surface engineering across the length scales"
}
},
{
"item": {
"id": 16,
"sector": 'Engineering',
"expertise": ["Pharmaceuticals", "Manufacturing"],
"text": "Chemical and process engineering from molecule to product"
}
},
{
"item": {
"id": 17,
"sector": 'Engineering',
"expertise": ["Pharmaceuticals"],
"text": "Bionanotechnology for disease diagnosis, treatment and prevention"
}
},
{
"item": {
"id": 18,
"sector": 'Engineering',
"expertise": ["Healthcare", "Pharmaceuticals", "Electronics", "Manufacturing"],
"text": "Engineering materials at the atomic level"
}
},
{
"item": {
"id": 19,
"sector": 'Environment',
"expertise": ["Healthcare", "Environment & Food"],
"text": "Addressing global challenges in food security"
}
},
{
"item": {
"id": 20,
"sector": 'Environment',
"expertise": ["Healthcare", "Environment & Food"],
"text": "Interdisciplinary approaches to tackling major water issues"
}
},
{
"item": {
"id": 21,
"sector": 'Environment',
"expertise": ["Cities"],
"text": "Designing cities of the future"
}
},
{
"item": {
"id": 22,
"sector": 'Environment',
"expertise": ["Transport", "Cities"],
"text": "Europe’s leading city simulation capability"
}
},
{
"item": {
"id": 23,
"sector": 'Environment',
"expertise": ["Environment & Food"],
"text": "Robust and timely climate solutions"
}
}
];
let expertise;
let res = items.reduce((acc, {
item: {
expertise,
text
}
}) => {
expertise.forEach(x => acc[x] = [...(acc[x] || []), text]);
return acc;
}, {});
Object.entries(res).forEach(([k, v]) => {
console.log(k + "\n->" + v.join("\n->"));
});