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