gpt4 book ai didi

javascript - 推送并删除数组的重复项

转载 作者:行者123 更新时间:2023-11-30 15:47:28 26 4
gpt4 key购买 nike

我有一个 arr = ['a', 'b', 'c'] 的数组(或 Set?),我想向其中添加 d ,这可以通过 arr.push('d') 完成。

但我只想要数组中的唯一值,并且我希望最新添加的值位于数组的前面。

所以如果我先添加 d 数组应该变成 ['d', 'a', 'b', 'c'] 如果我现在添加 b 数组应该变成 ['b', 'd', 'a', 'c']

应该是这样的吗

function addElement(arr, element) {
if (arr.includes(element)) {
arr.splice(arr.indexOf(element, 1));
}
arr.unshift(element);
}

我想这可以用集合来完成,因为集合只能包含唯一值。

最佳答案

你可以使用 Set并提前删除项目然后添加。要获得想要的顺序,您需要反转呈现的数组。

function addToSet(v, set) {
set.delete(v);
set.add(v);
}

var set = new Set;

addToSet('d', set);
addToSet('c', set);
addToSet('b', set),
addToSet('a', set);
addToSet('d', set);

console.log([...set].reverse());

关于javascript - 推送并删除数组的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39846428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com