Я просто изучаю JS, и мне нужно написать программу, которая проверяет, содержит ли строка в первом элементе массива все буквы строки во втором элементе массива.indexOf игнорирует второй символ в массиве
Я сделал такой код:
function mutation(arr) {mutation: {
var lowerCaseStringOne = arr[0].toLowerCase();
var lowerCaseStringTwo = arr[1].toLowerCase();
if (lowerCaseStringOne === lowerCaseStringTwo) {
console.log(true);
break mutation;
}
var newArray = [];
for (var i = 0; i < lowerCaseStringTwo.length; i++){
console.log(lowerCaseStringTwo[i]);
if (lowerCaseStringTwo.indexOf(lowerCaseStringOne[i]) > 0) {
newArray.push(lowerCaseStringTwo[i]);
console.log('---');
}
}
var result = newArray.join("");
if (result === lowerCaseStringTwo) {
console.log(true);
} else {
console.log(false);
}
}
}
mutation(["Mary", "Aarmy"]);
Я думаю, что это очень сложно, но я не могу решить эту проблему - функция «IndexOf», кажется, игнорирует второй символ в моем цикле - loggs это в консоли, но не толкает в массив. Я думал, это может случиться, потому что первая и вторая буквы похожи, но это не так. Независимо от того, что письмо, оно просто игнорирует его.
Я только что видел эту ошибку: 'если (lowerCaseStringTwo.indexOf (lowerCaseStringOne [я])> 0)' это должно быть 'если (lowerCaseStringOne. indexOf (lowerCaseStringTwo [i])> 0) ' –
Теперь он игнорирует букву 'm'. Я пробовал так много способов его решения, поэтому у меня было больше ошибок ... –
извините, что моя вина еще не видела другую ошибку. Вам нужно '> -1', поскольку 0 - индекс первой буквы –