嘿我一直在尝试编写一个简单的javascript函数来比较字符串字母,但我不能让它因某些原因而起作用......这就是代码。
function compare(wordOne, wordTwo) {
if (wordOne.substring(0) === wordTwo.substring(0))
{
return true;
} else {
return false;
}
}
compare("house", "hell");
答案 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);