5.0 KiB
5.0 KiB
title | localeTitle |
---|---|
Mutations | 突变 |
如果卡住,请记得使用**Read-Search-Ask
** 。尝试配对程序并编写自己的代码
问题说明:
- 如果数组的第一个元素中的字符串包含数组的第二个元素中字符串的所有字母,则返回true。
相关链接
提示:1
- 如果一切都是小写的,那么比较会更容易。
现在尝试解决问题
提示:2
- 如果它们是字符数组,我们的字符串可能更容易使用。
现在尝试解决问题
提示:3
- 循环可能会有所帮助。使用
indexOf()
检查第二个单词的字母是否在第一个单词上。
现在尝试解决问题
扰流警报!
提前解决!
基本代码解决方案
程序
function mutation(arr) {
var test = arr[1].toLowerCase();
var target = arr[0].toLowerCase();
for (var i=0;i<test.length;i++) {
if (target.indexOf(test[i]) < 0)
return false;
}
return true;
}
代码说明:
首先,我们将数组中的两个字符串设为小写。 test
将保持我们在target
中寻找的东西。
然后我们遍历我们的测试字符,如果找不到任何一个,我们return false
。
如果_都_发现他们时,循环完成,而无需返回任何东西,我们开始return true
。
相关链接
中级代码解决方案:
陈述
function mutation(arr) {
return arr[1].toLowerCase()
.split('')
.every(function(letter) {
return arr[0].toLowerCase()
.indexOf(letter) != -1;
});
}
代码说明:
抓住第二个字符串,小写并将其转换为数组;然后确保它的_每个_ _字母_都是小写的第一个字符串的一部分。
Every
人基本上都会给你一个字母来比较,我们通过在第一个字符串上使用indexOf
来做。如果缺少当前letter
indexOf
将给出-1。我们检查不是这种情况,因为如果这种情况发生,即使every
都是假的。
相关链接
捐款说明:
- 请勿添加与任何现有解决方案类似的解决方案。如果您认为它**相似但更好** ,那么尝试合并(或替换)现有的类似解决方案。
- 添加解决方案的说明。
- 将解决方案分为以下类别之一 - 基本 , 中级和高级 。
- 如果您添加了任何**相关的主要内容,**请仅添加您的用户名。 ( 不要 删除任何现有的用户名 )