##お題
配列の第一要素に第二要素が含まれているかどうか真偽判定する。
script.js
function mutation(arr) {
// write your code.
}
mutation(["hello", "hey"]);
##出力結果 例
script.js
(["Mary", "Aarmy"]) // true
(["Alien", "line"]) // true
(["floor", "for"]) // true
(["hello", "neo"]) // false
(["voodoo", "no"]) // false
##使った関数
toLowerCase()
indexOf()
##一番最初に試したコード
script.js
function mutation(arr) {
var target = arr[1].toLowerCase();
var item = arr[0].toLowerCase();
for(var i= 0; i<target.length; i++){
if(item.indexOf(target[i]) < 0) return false;
}
return true;
}
mutation(["hello", "hey"]);
##考え方
・indexOf()の返り値をもとに真偽判定することができる。(-1が返ると誤)
・配列の第一要素と第二要素を比較するために、それぞれ小文字にして変数に入れる。
・for文でtagetの一文字目から比較して、−1になった時点でfalseを返す。
-1が返らなかったら、真で処理終了。
##その他のコード
script.js
function mutation(arr) {
return arr[1].toLowerCase()
.split('')
.every(function(letter) {
return arr[0].toLowerCase()
.indexOf(letter) != -1;
});
}
###他にもコードが浮かんだ方、コメントお待ちしてます。