首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到回文字符串/数字

找不到回文字符串/数字
EN

Stack Overflow用户
提问于 2015-02-08 20:17:30
回答 4查看 72关注 0票数 1

我写了下面的代码来找出回文数字/字符串。

代码语言:javascript
复制
<!doctype html>
<html>
<head>
<script>

function Palindrom() {
var rev="";
var str= document.getElementById("name1").value;


for ( var i=str.lenght; i>=0; i--)
{

var rev=rev + str.charAt(i);
}

if (str == rev)
{
alert ("Enter value is palindrome");
}

else
{alert ("Value is not palindrome");}

}

</script>
</head>
<body>
Enter String:<input type="text" name="Name" id="name1">
<button type="button" onclick="Palindrom();"> Check it</button>

</body>
</html>

然而,即使我在框中输入回文字符串,它也给出了else语句的o/p。我不认为有什么问题。请更正代码并解释错误所在。谢谢你,sameer

EN

回答 4

Stack Overflow用户

发布于 2015-02-08 20:31:15

应该从str.length -1开始反转(因为字符串是零索引的(即,字符串中的第一个位置是0而不是1,因此,对于5个字符的字符串,最后一个位置是4,而不是5)。另外,为什么不使用一些现有的函数,而不是重新发明weel呢?

代码语言:javascript
复制
x = '1234'
y = x.split('').reverse().join('')
alert(y)
票数 1
EN

Stack Overflow用户

发布于 2015-02-08 20:25:45

你在str.lenght中有一个拼写错误

此外,您还应该从str.length-1开始循环

工作示例:http://jsbin.com/ponoro/2/edit

示例:

代码语言:javascript
复制
function Palindrom() {
var rev="";
var str= '12342554321';


for ( var i=str.length-1; i>=0; i--)
{

var rev=rev + str.charAt(i);
}
alert(rev)
if (str == rev)
{
alert ("Enter value is palindrome");
}

else
{alert ("Value is not palindrome");}

}
票数 0
EN

Stack Overflow用户

发布于 2015-02-08 20:28:08

str.length函数精确地返回数组的实际长度,而不是偏移量,也就是说,简单地说,数组的最后一个索引是1减去数组的长度……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28393824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档