JavaScript检查字母是否包含在字符串中
我有下面的JavaScript函数,我想使用它检查名为JavaScript检查字母是否包含在字符串中,javascript,Javascript,我有下面的JavaScript函数,我想使用它检查名为mutation的数组的first元素是否包含第二个元素的所有字母 function mutation(arr) { let test = arr[1].toLowerCase(); let target = arr[0].toLowerCase(); let split = test.split(''); split.forEach((elem)=>{ if(target.indexOf(elem)
mutation
的数组的first元素是否包含第二个元素的所有字母
function mutation(arr) {
let test = arr[1].toLowerCase();
let target = arr[0].toLowerCase();
let split = test.split('');
split.forEach((elem)=>{
if(target.indexOf(elem) < 0 ) {
return false;
}
});
return true;
}
mutation(["hello", "hey"]);
功能突变(arr){
让test=arr[1].toLowerCase();
让target=arr[0].toLowerCase();
让分割=测试分割(“”);
split.forEach((elem)=>{
if(目标索引of(elem)<0){
返回false;
}
});
返回true;
}
突变([“你好”,“嘿]);
现在它应该显示布尔值false
,因为字母y不存在于helloword中。但事实并非如此
有什么我做错了吗?ForEach中的Return语句不会从函数返回,您可以使用简单的for循环或reduce来在线获取最终结果
功能突变(arr){
让test=arr[1].toLowerCase();
让target=arr[0].toLowerCase();
让分割=测试分割(“”);
const result=split.reduce((acc,curr)=>acc和target.includes(curr),true);
返回结果;
}
log(突变(['hello','y'])代码>您可以使用
功能突变(arr){
让test=arr[1].toLowerCase();
让target=arr[0].toLowerCase();
让分割=测试分割(“”);
返回split.every(x=>target.includes(x));//检查'target'中是否存在'split'的所有字母`
}
log(突变([“你好”,“你好]));
log(突变([“你好”,“你好]));
log(变异([“helloworld”,“lloword”])代码>您可以尝试另一种方法来获得预期的结果:
function mutation(arr) {
let test = arr[1].toLowerCase().split('').join('');
let target = arr[0].toLowerCase().split('').join('');
return target.includes(test);
}
mutation(["hello", "hey"]);
坚持使用更经典的方法:
console.log(变异([“你好”,“你好]));
功能突变(args){
const target=args[0]。toLowerCase();
const test=args[1]。toLowerCase();
对于(设i=0;i
我会:
功能突变(arr){
让test=arr[1].toLowerCase();
让target=arr[0].toLowerCase();
返回目标。包括(测试);
}
log(突变([“你好”,“你好]));
log(突变([“helloworld”,“hello”])
您不能从内部forEach
返回。请参考哦。我懂了!!!谢谢你提供的信息。mutation([“hello”,“helo”])
应该返回true吗?我认为这行不通。尝试使用['hello world','hello']
。排序后的字符串是[“dehlloorw”,“ehllo”]
,其中包括返回false