["hello", "hey"]应该返回false,因为字符串"hello"并不包含字符"y"。
["Alien", "line"]应该返回true,因为"line"中所有字符都可以在"Alien"找到。
mutation(["hello", "hey"]) //应该返回 false.
mutation(["zyxwvutsrqponmlkjihgfedcba", "qrstu"]) //应该返回 true.
mutation(["Mary", "Aarmy"]) //应该返回 true.
mutation(["Alien", "line"]) //应该返回 true.
mutation(["floor", "for"]) //应该返回 true.
mutation(["hello", "neo"]) //应该返回 false.
function demo(str1, str2) {
str1 = str1.toLowerCase();
str2 = str2.toLowerCase();
return ![].some.call(str2, function (n) {
return !~str1.indexOf(n);
});
}
上述代码通俗化,就是把big降低点=》
function demo(str1, str2) {
str1 = str1.toLowerCase();
str2 = str2.toLowerCase();
for (var i = 0, len = str2.length; i < len; i++) {
if (str1.indexOf(str2[i]) < 0) {
return false;
}
}
return true;
}
function test(s1,s2){
s1 = s1.toLowerCase();
s2 = s2.toLowerCase();
return s1.split('').sort().join('').indexOf(s2.split('').sort().join('')) == -1 ? false : true;
}
function mutation (str1, str2) {
let map = {}
[].forEach.call(str1.toLowerCase(), char => map[char] = true)
return ![].some.call(str2.toLowerCase(), char => !map[char]).length
}
function mutation(arr) {
const source = arr[0].toLowerCase(),
compare = arr[1].toLowerCase().split("");
return(
compare.every((n) => source.indexOf(n) !== -1)
);
}
没看懂你的思路,按我的理解,这样写应该就是实现的你的需求:
function mutation(arr) {
if( arr.length > 1 ){
var arr0 = arr[0].toLowerCase();
for( var i = 0 ; i < arr[1].length ; i++){
if( arr0.indexOf(arr[1].substr(i,1).toLowerCase()) == -1 ){
return false;
}
}
return true;
}else{
return false; //数组元素不足两个
}
}
jtgdwan
function mutation(arr) {
for (var i = 0; i < arr[1].length; i++) {
if (!new RegExp(arr[1][i], 'gi').test(arr[0])) {
return false
}
}
return true
}
console.log(mutation(["hello", "hey"]))//应该返回 false.
console.log(mutation(["zyxwvutsrqponmlkjihgfedcba", "qrstu"])) //应该返回 true.
console.log(mutation(["Mary", "Aarmy"])) //应该返回 true.
console.log(mutation(["Alien", "line"])) //应该返回 true.
console.log(mutation(["floor", "for"])) //应该返回 true.
console.log(mutation(["hello", "neo"])) //应该返回 false.