非常新的JavaScript所以忍受着我... 我需要检查包含一个字符串的数组(arr [1])中的一个元素与同一数组的另一个元素(arr [0])以确定如果元素arr [1]中包含的任何字母包含在arr [0]中。这些字母可以是任意顺序,大写或小写,并且不必出现相同的次数(即,arr [0] =“hheyyy”并且arr [1] =“hey”可以)。这是我的(有效),但我很好奇,如果任何人有更好/更简单的方法做到这一点? -提前致谢。如何检查数组中的一个元素是否与同一数组中的另一个元素匹配?
function mutation(arr) {
//splits the array into two separate arrays of individual letters
var newArr0 = arr.join('').toLowerCase().split('').slice(0,arr[0].length);
var newArr1 = arr.join('').toLowerCase().split('').slice(arr[0].length);
var boolArr = [];
//checks each letter of arr1 to see if it is included in any letter of arr0
for(var i = 0; i < newArr1.length; i++)
boolArr.push(newArr0.includes(newArr1[i]));
//results are pushed into an array of boolean values
if (boolArr.indexOf(false) !==-1)
return false; //if any of those values are false return false
else return true;
}
mutation(["hello", "hey"]); //returns false
[这个答案](http://stackoverflow.com/a/18692301/4256677)可以为好的解决方案提供一种思路 – varontron