碎片时间学编程「339]:验证数组是否包含在其他数组中

无论顺序如何,检查第一个数组的元素是否包含在第二个数组中。 在从第一个数组创建的 Set 上使用 for...of 循环。 使用 Array.prototype.some() 方法检查第二个数组中是否包含所有不同的值。 使用 Array.prototype.filter() 方法比较两个数组中每个不同值的出现次数。 如果第一个数组中任何元素的计数大于第二个数组中的任何元素的计数,则返回 false,否则返回 true。
JavaScript
const isContainedIn = (a, b) => {
for (const v of new Set(a)) {
if (
!b.some(e => e === v) ||
a.filter(e => e === v).length > b.filter(e => e === v).length
)
return false;
}
return true;
};
示例:
isContainedIn([1, 4], [2, 4, 1]); // true
更多内容请访问我的网站:https://www.icoderoad.com