尝试编写一个 JavaScript 函数来仅比较 2 个字符串的第一个字符,但无法使其工作。这是代码。
function compare(wordOne, wordTwo) {
if (wordOne.substring(0) === wordTwo.substring(0))
{
return true;
} else {
return false;
}
}
compare("house", "hell");
假设你想比较两个字符串的第一个字母,可以使用以下代码
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);
为了解释为什么当前代码不起作用,您需要将第二个参数传递给
.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]
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);