Как сравнивать строковые буквы (JavaScript) - PullRequest
0 голосов
/ 27 апреля 2018

Эй, я пытался написать простую функцию javascript для сравнения строковых букв, но я почему-то не могу заставить ее работать ... вот код.

function compare(wordOne, wordTwo) {
    if (wordOne.substring(0) === wordTwo.substring(0))
    {
        return true;
    } else {
        return false;
    }
}
compare("house", "hell");

Ответы [ 3 ]

0 голосов
/ 27 апреля 2018

Чтобы объяснить, почему ваш текущий код не работает, вам нужно передать второй параметр в .substring в качестве значения to. String.substring(0) просто возвращает всю строку после 0-го символа, то есть всего слова. Исправленный пример;

function compare(wordOne, wordTwo) {
    if (wordOne.substring(0, 1) === wordTwo.substring(0, 1)) {
        return true;
    }
    else 
    {
        return false;
    }
}

compare("house", "hell");

Вы также можете просто использовать wordOne[0] === wordTwo[0]

0 голосов
/ 27 апреля 2018

подстрока возвращает часть строки между начальным и конечным индексами или до конца строки .

Если вы хотите сравнить только первый символ, используйте charAt

function compare(wordOne, wordTwo) {
   return wordOne.charAt(0) === wordTwo.charAt(0);
}
compare("house", "hell");

Или вы можете передать индекс в качестве параметра

function compare(wordOne, wordTwo, index) {
   return wordOne.charAt(index) === wordTwo.charAt(index);
}
compare("house", "hell", 0);
0 голосов
/ 27 апреля 2018

Если вы хотите сравнить первую букву двух строк, вы можете использовать следующий код

function compare(wordOne, wordTwo) {
    return wordOne[0] === wordTwo[0];
}
compare("house", "hell");

Это сокращает условие if / else, так как вас просто интересует, равны ли первые буквы, а не то, насколько они различны. Вы также можете использовать str.toUpperCase() (или) str.toLowerCase(), чтобы сделать регистр нечувствительным.

Согласно предложению @Josh Katofsky, вы, конечно, можете сделать эту функцию более универсальной, например, добавив третий параметр, который проверяет n-ю букву:

function compare(wordOne, wordTwo, index) {
    return wordOne[index] === wordTwo[index];
}
compare("house", "hell", 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...