集合之间的关系
题目
输入参数是一个有两个字符串元素的数组。如果第一个字符串中包含了第二个字符串中的所有字母,则返回 true。
例如,[“hello”, “Hello”]应该返回 true 因为第一个字符串中包含了第二个字符串中出现的所有字母(忽略大小写)。
而 [“hello”, “hey”]应该返回 false 因为第一个字符串 “hello” 没有包含字母 “y”。
最后,[“Alien”, “line”], 应该返回 true,因为 “line” 中的所有字母都被包含在 “Alien” 中。
function mutation(arr) {
//第一个字符串转换为小写,然后转换为数组
let a = arr[0].toLowerCase().split("");
//使用set集合存储第一个字符串数组
let set = new Set();
for(let i = 0;i<a.length;i++) {
set.add(a[i]);
}
//将第二个字符串转换为小写,然后转换为数组
let b = arr[1].toLowerCase().split("");
//循环判断第二个字符中的每个字母是否在第一个字符串中,只要有一个不符合就返回false
for(let j = 0;j<b.length;j++) {
if(!set.has(b[j])) {
return false;
}
}
return true;
}
mutation(["hello", "heo"]);