如何比较字母(javascript)

时间:2018-04-27 12:29:08

标签: javascript string function substring

嘿我一直在尝试编写一个简单的javascript函数来比较字符串字母,但我不能让它因某些原因而起作用......这就是代码。

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

3 个答案:

答案 0 :(得分:2)

假设您要比较两个字符串的第一个字母,可以使用以下代码

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);

答案 1 :(得分:2)

要解释您当前代码无效的原因,您需要将第二个参数传递给selectedPlace.title作为.substring值。 to只返回第0个字符后面的整个字符串,所以整个单词都是如此。修复示例;

String.substring(0)

您也可以使用function compare(wordOne, wordTwo) { if (wordOne.substring(0, 1) === wordTwo.substring(0, 1)) { return true; } else { return false; } } compare("house", "hell");

答案 2 :(得分:0)

substring返回字符串中起始索引和结束索引之间的部分,或字符串的结尾。

如果您只想比较第一个字符,请使用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);