gpt4 book ai didi

javascript - Ramda,数组相等而不考虑顺序

转载 作者:行者123 更新时间:2023-11-29 17:44:40 26 4
gpt4 key购买 nike

当比较数组时,ramda equals 仅当两个数组以相同的顺序保存相同的值时才会返回 true。

我需要一个函数来检查两个数组是否包含完全相同的值,但忽略值出现的顺序。

目前我是这样做的:

const equalLength = (arr1, arr2) => arr1.length === arr2.length

export const equalIgnoreOrder = (arr1, arr2) =>
equalLength(arr1, arr2) && equalLength(arr1, R.union(arr1, arr2))

但我想知道是否有更“开箱即用”的解决方案?

最佳答案

我觉得你的回答很好。稍微短一点的是

const equalIgnoreOrder = compose(isEmpty, symmetricDifference)

这对我来说更合乎逻辑,因为检查相同的元素更像是一个差异问题而不是联合问题;与涉及 length 的集合相比,它感觉更接近集合的数学概念。但这在这里是一个非常小的问题。

关于javascript - Ramda,数组相等而不考虑顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50783383/

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