如果我有一个数组:
let x= [0,1,2,3,5]
我有一个包含多个子数组的数组:
let winningIndices = [[0, 1, 2], [6, 7, 8], [0, 3, 6], [2, 5, 8], [0, 4, 8], [2, 4, 6]]
如何检查数组 x 是否包含任何一个子数组的所有元素。
换句话说,我如何检查数组 x 是否具有数字 0、1、2 或 6、7、8 的组合...
提前致谢
答案 0 :(得分:3)
“如何检查数组 x 是否包含任何一个子数组的所有元素。”
这是最直接的函数解释。
const won = winningIndices.some(indices=>
indices.every(
item=>x.includes(item)
)
)
答案 1 :(得分:0)
这可能是一个选择。如果您想从结果中删除 xIncludesItem 键,只需重新映射即可。
var str = "chris <chris.fc@email.in>";
var parts = str.split(/[ ](?=<)/);
var name = parts[0];
var email = parts[1].substring(1, parts[1].length - 1);
console.log("name = " + name);
console.log("email_id = " + email);
答案 2 :(得分:0)
Array.includes 比 Set.has 慢得多。基于 Ted Brownlow 解决方案的性能稍高的解决方案是:
const setX = new Set(x);
const won = winningIndices.some(indices=>
indices.every(
item=>setX.has(item)
)
)