gpt4 book ai didi

javascript - 如果数组第一个元素中的字符串包含数组第二个元素中字符串的所有字母,则返回 true

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

我的代码正在运行,除了mutation([“Mary”,“Army”])应该返回true,但它返回false并且mutation([“Mary”, “Aarmy”]) 应该返回 true,但它返回 false。

有人可以解释一下为什么会发生这种情况吗?

到目前为止我的代码

function mutation(arr) {
a=arr.slice(0,1); var a_str = a.toString(); a_arr = Array.from(a_str);
b=arr.slice(1,2); var b_str = b.toString(); b_arr = Array.from(b_str);
var flag=0;

for(var i=0;i<b_arr.length;i++){
for(var j=0;j<a_arr.length;j++){
if(b_arr[i]==a_arr[j]){
flag+=1;
}
}
}

if(flag>=b_arr.length){
return true;
} else return false;
}

console.log(mutation(["Mary", "Aarmy"]));

最佳答案

问题:

您的代码的问题在于 JavaScript 区分大小写,而您的代码并不期望如此,因此您可以执行以下操作:

解决方案:

如果在这种情况下两者相等:

然后你基本上可以进行字谜检查:

anagram = _ => _.toLowerCase().split('').sort().join('').trim();

const isAnagram = _ => anagram(_[0]) === anagram(_[1])

否则你可以按照以下方式做一些事情:

check = a => !a[0].split ``.map(_ => _[X = `toLowerCase`]()).filter(_ => !a[1].includes(_[X]())).length

console.log(check(['Mary','Aarmy']))

关于javascript - 如果数组第一个元素中的字符串包含数组第二个元素中字符串的所有字母,则返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50424932/

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