- 已关闭**。此问题需要超过focused。当前不接受答案。
- 想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
两年前关闭了。
这篇文章是编辑和提交审查2天前。
Improve this question
数组中有重复的项--我想给这些项追加一个递增的数字。例如:
输入:
[
{id: 1, name: "john"},
{id: 2, name: "Man"},
{id: 3, name: "Man"},
{id: 4, name: "john"},
{id: 5, name: "kind"},
{id: 6, name: "nova"},
{id: 7, name: "kind"},
{id: 8, name: "fred"},
{id: 9, name: "fred"},
{id: 10, name: "john"}
]
预期产出:
[
{id: 1, name: "john-1"},
{id: 2, name: "Man-1"},
{id: 3, name: "Man-2"},
{id: 4, name: "john-2"},
{id: 5, name: "kind-1"},
{id: 6, name: "nova"},
{id: 7, name: "kind-2"},
{id: 8, name: "fred"},
{id: 9, name: "monk"},
{id: 10, name: "john-3"}
]
3条答案
按热度按时间igsr9ssn1#
输入数据可能非常庞大,是否有任何方法可以改变同一对象并只查找重复项以减少延迟和内存
类似这样的事情会起作用:
它根据
:name
键对条目进行分组,并拒绝那些只有1个条目的条目,然后遍历剩余的组(即有2个或更多条目的组),并在每个条目的名称后附加一个基于1的索引。之后,
input
将为:83qze16e2#
这是一个给定输入的快速示例:
这就是输出:
Group by将重复的名字分组输入。我不知道你是否尝试过,但这是你可以开始工作和改进的东西。
j8yoct9x3#
尝试改变相同的输入并递增名称字符串中的值
输出: