gpt4 book ai didi

javascript - _.差异但允许重复

转载 作者:行者123 更新时间:2023-12-02 17:11:21 24 4
gpt4 key购买 nike

我正在尝试查找两个数组的差异,但数组中允许重复,因此我只想一次删除一个数组。

通过示例可能更容易说明这一点。 _.difference 函数的工作原理如下:

_.difference([1, 1, 2], [1]); // returns [2]

但我想知道是否有一个函数(最好是下划线)可以这样做:

_.difference2([1, 1, 2], [1]); // returns [1, 2]
_.difference2([1, 1, 2], [1, 1]); // returns [2]

如果还没有一种方法可以做到这一点,那么制作一个 mixin 的有效方法是什么?

最佳答案

我想出的这个 mixin 有效..但愿意接受有关如何改进它的建议:

_.mixin({
remove: function(base, toRemove) {
var ret = [];
toRemove = _.clone(toRemove);

_.each(base, function(elem) {
var i = _.indexOf(toRemove, elem);
if(i < 0) {
ret.push(elem);
} else {
toRemove[i] = undefined;
}
});

return ret;
}
});

_.remove([1, 1, 2], [1]); // returns [1, 2]
_.remove([1, 1, 2], [1, 1]); // returns [2]

关于javascript - _.差异但允许重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24787920/

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