【发布时间】:2020-07-12 17:13:50
【问题描述】:
我有一个 Javascript sn-p 来将唯一的项目存储在这样的对象数组中:-
const array = [
{id: 3, name: 'Central Microscopy', fiscalYear: 2018},
{id: 5, name: 'Crystallography Facility', fiscalYear: 2018},
{id: 3, name: 'Central Microscopy', fiscalYear: 2017},
{id: 5, name: 'Crystallography Facility', fiscalYear: 2017},
{id: 3, name: 'Central Microscopy', fiscalYear: 2019},
];
const result = [];
const map = new Map();
for (const item of array) {
if (!map.has(item.id) ) {
map.set(item.id, true); // set any value to Map
result.push({
id: item.id,
name: item.name,
fiscalYear: item.fiscalYear
});
}
}
console.log(result);
因为这个结果是
[
{ id: 3, name: 'Central Microscopy', fiscalYear: 2018 },
{ id: 5, name: 'Crystallography Facility', fiscalYear: 2018 }
]
现在我想拥有独特的项目,并拥有那些会计年度大于现有项目的项目。 例如:- 对于相同的输入,输出应为:- 我需要 javascript 或 typescript 中的代码(语言约束)
[
{ id: 3, name: 'Central Microscopy', fiscalYear: 2019},
{ id: 5, name: 'Crystallography Facility', fiscalYear: 2018 }
]
即使数据很大,也需要最优解
【问题讨论】:
-
您的问题措辞就像您在分配任务一样。你做了什么?这不是麦当劳的得来速餐厅。
-
我觉得我要求一些改进。如果可能,请尝试帮助我
-
您向我们提供了一系列要求,即代码应该采用某种语言,并且应该是最佳的。您还没有展示您尝试过的内容,以及您尝试的解决方案没有解决的问题。
-
我已经给出我的解决方案输出是 ` [ { id: 3, name: 'Central Microscopy', accountingYear: 2018 }, { id: 5, name: 'Crystallography Facility', accountingYear: 2018 } ] ` 现在我需要输出为 ``` [ { id: 3, name: 'Central Microscopy', accountingYear: 2019}, { id: 5, name: 'Crystallography Facility', accountingYear: 2018 } ] `` ` 我在其中涉及一个应该接受的更大财政年的条件
-
JavaScript 或 typescript 都被接受(其中任何一个)
标签: javascript arrays ecmascript-6 filter unique-constraint