gpt4 book ai didi

javascript - 使用 JavaScript 查看一个数组是否包含其他嵌套数组中的所有数字?

转载 作者:行者123 更新时间:2023-12-01 02:57:11 25 4
gpt4 key购买 nike

我有一个名为 winingNumbers 的数组。我需要测试其他数组(userOneNumers 和 userTwoNumers)以查看它们是否包含 winingNumbers 的任何嵌套数组中的所有数字。

const userOneNumers = [1,2,4,5];
const userTwoNumers = [1,2,3,6];

const winingNumbers = [
[1,2,3],
[4,5,6]
];

在此示例中,userOneNumers 应返回 false,但 userTwoNumers 应返回 true。

澄清一下,要返回 true,数组必须包含 1、2、3 或 4、5、6 的全部。如果一个数组有一些数字,例如 1、2、4,那么它应该返回 false。

此外,要测试的数组可能有其他数字,例如 8,9,1,2,3,7,但仍应返回 true。

最佳答案

您可以采取一组并与之前检查的相同长度的数组进行检查。

function check(a, b) {
var bb = new Set(b);
return a.some(aa => aa.length === b.length && aa.every(aaa => bb.has(aaa)));
}


const userOneNumers = [1, 2, 4, 5];
const userTwoNumers = [1, 2, 3];
const winingNumbers = [[1, 2, 3], [4, 5, 6]];

console.log(check(winingNumbers, userOneNumers)); // false
console.log(check(winingNumbers, userTwoNumers)); // true

编辑问题后进行编辑,无需长度检查,只需根据给定值检查内部数组。

function check(a, b) {
var bb = new Set(b);
return a.some(aa => aa.every(aaa => bb.has(aaa)));
}


const userOneNumers = [1, 2, 4, 5];
const userTwoNumers = [1, 2, 3, 6];
const winingNumbers = [[1, 2, 3], [4, 5, 6]];

console.log(check(winingNumbers, userOneNumers)); // false
console.log(check(winingNumbers, userTwoNumers)); // true

关于javascript - 使用 JavaScript 查看一个数组是否包含其他嵌套数组中的所有数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46648619/

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