JavaScript中两个数组的isSubset
我们需要编写一个包含两个文字数组的JavaScript函数。该函数应确定第二个数组是否是第一个数组的子集,并牢记以下几点:
array1的所有值都应在array2中定义
如果array1中存在重复值,则还应在array2中考虑它们。
例如,如果arr1=[“a”,“a”]和arr2=[“b”,“a”],则isSubset为false,因为“a”在第一个出现两次,但在第二个出现一次。
示例
为此的代码将是-
const isSubset = (arr1, arr2) => {
const count = (arr, ind) => {
let i = arr.length;
while (i−−) hash[arr[i]] = (hash[arr[i]] || 0) + ind;
}
const hash = {};
let i, keys;
count(arr1, 1);
count(arr2, −1);
keys = Object.keys(hash);
i = keys.length;
while (i−−) {
if (hash[keys[i]]){
return false;
};
};
return true;
}
console.log(isSubset(["B", "A", "C", "A"], ["A", "B", "C", "A"]));
console.log(isSubset(["B", "A", "C", "A"], ["A", "B", "C", "D"]));输出结果
控制台中的输出将是-
true false
热门推荐
10 广西考试祝福语结婚简短
11 猪年祝福语简短小孩
12 元旦祝福语送长辈简短
13 恭喜二宝祝福语简短
14 祝福语暖心话简短
15 国庆中秋祝福语简短兄弟
16 朋友订婚的祝福语简短
17 送弟弟中秋祝福语简短
18 爱生日祝福语简短独特