javascript - 在第一个数组元素的第二个数组元素中查找字母

标签 javascript

使用 javascript,我想检查第一个数组元素中的字符串是否包含第二个数组元素的所有字母。如果是,则返回 true。例如。 ["Mary", "Aarmy"] => true; ["hello", "hey"] => false.

我尝试了以下代码,它适用于 ["Mary", "Aarmy"] 和 ["voodoo", "no"],但不适用于 ["hello", "hey"]。感谢任何帮助,谢谢!

function mutation(arr){
var str1 = arr.pop().toLowerCase();
 var str2 = arr.pop().toLowerCase();
 for(var i = 0; i < str2.length; i++){
  if(str1.indexOf(str2[i]) !== -1){
    return true;
  }
    else return false;
 }
} 

最佳答案

当您使用 pop() 时,它将返回数组中的最后一个元素,而不是第一个。

您的 if else 也在 for 中并且有一个返回语句。这不会让 for 循环完全运行并在第一个循环之后返回。

function mutation(arr){
 var str2 = arr.pop().toLowerCase();
 var str1 = arr.pop().toLowerCase();
 console.log("str1: " + str1);
 console.log("str2: " + str2);
 for(var i = 0; i < str2.length; i++){
  if(str1.indexOf(str2[i]) === -1){
    return false;
  }
 }
 return true;
}

arr = ["hello", "hey"];
console.log(mutation(arr));

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

关于javascript - 在第一个数组元素的第二个数组元素中查找字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43433944/

相关文章:

javascript - 计算数字位数的问题

javascript - 使用 Javascript 获取表单值

javascript - 如何在 Firefox 打印时隐藏网址

javascript - 将隐藏属性应用于 span

javascript - 匿名函数中的“this”关键字

javascript - typescript 通过将具有相同键的对象的值组合来合并 2 个对象数组

javascript - 如何在函数工作依赖于 thor td 时更改以前的 td 样式

javascript - 如何保护使用 Electron 构建的商业应用程序?

javascript - 使用随机字符串生成器和 MySQL 进行电子邮件验证

javascript - 应用脚本,无加载延迟