Js判断回文
思路:获取输入的值,在通过for循环遍历,通过不同的插入方式把值放到2个数组里面,在通过tostring()或者join()生成字符串,从而进行比较
方法1:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>
<input id="a1" onkeydown="if(event.keyCode==13) {test()}" type="text">
<div id="a2"></div>
</div>
<script>
function test() {
var arr = []
var yuanarr = []
var a = document.getElementById('a1').value
方法1,tostring
for (const i of a) {
yuanarr.push(i)
arr.unshift(i)
}
//这里用join()也可以
if(arr.toString()===yuanarr.toString()){
var a2=document.getElementById('a2').innerHTML='输入的是回文'
}else{
var a2=document.getElementById('a2').innerHTML='输入的不是回文'
}
}
</script>
</body>
</html>
方法2利用es6拓展运算符(resever()返回原数组)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>判断回文</title>
</head>
<body>
<div>
<input id="a1" onkeydown="if(event.keyCode==13) {test()}" type="text">
<div id="a2"></div>
</div>
<script>
function test() {
var a = document.getElementById('a1').value
var arr=[...a]
var newarr= [...a].reverse()
if(arr.toString()===newarr.toString()){
var a2=document.getElementById('a2').innerHTML='输入的是回文'
}else{
var a2=document.getElementById('a2').innerHTML='输入的不是回文'
}
}
</script>
</body>
</html>