gpt4 book ai didi

javascript - 使用 underscore.js 查找基于双重属性的唯一值

转载 作者:行者123 更新时间:2023-11-30 08:41:19 25 4
gpt4 key购买 nike

使用 Underscore.js,我试图在如下所示的数组中获取唯一值:

var links = [
{source: 0, target: 1},
{source: 0, target: 2},
{source: 0, target: 3},
{source: 0, target: 4},
{source: 0, target: 1},
{source: 4, target: 0}
];

所以它最终是这样的:

var links = [
{source: 0, target: 1},
{source: 0, target: 2},
{source: 0, target: 3},
{source: 0, target: 4},
];

当然,我想删除具有相同顺序(0,1 == 0,1)的相同源和目标对的链接,但也想删除相同但倒置的链接( 0,4 == 4,0).

我确信我可以使用双嵌套的 _.map() 来做到这一点,但我想看看是否有任何 Underscore 魔术师有更干净、更合适的解决方案。

最佳答案

我认为 _.uniq 就是答案。

uniq_.uniq(array, [isSorted], [iteratee])

More info

我相信您可以使用第三个参数 (iteratee) 来提供在比较之前首先应用的自定义转换函数。

使用 _.uniq ( http://jsfiddle.net/muto6zs1/ ) 的示例:

function(item) {
// sort array of source and target and join it into a delimited string for a unique value
return [item.source, item.target].sort().join(',');
}

关于javascript - 使用 underscore.js 查找基于双重属性的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26131666/

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