检索字符串中第一次只出现一次的字母
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>
<input type="text" name="str" id="str"/>
<button id="search">检索</button>
</div>
<p>字符串中第一个只出现一次的字母:</p>
<p id="resule"></p>
</body>
<script>
window.onload = function () {
var search = document.getElementById('search'),
numberObj = {},//记录字符串中每个字符出现的次数
hasonce = false,//判断该字符串中是否有只出现一次的字母
resuleVal = ''//存放第一个只出现一次的字母
search.addEventListener('click', () => {
var str = document.getElementById("str").value;
searchfn(str)
})
}
function searchfn(str) {
numberObj = {},//记录字符串中每个字符出现的次数
hasonce = false,//判断该字符串中是否有只出现一次的字母
resuleVal = ''//存放第一个只出现一次的字母
arr = [],//存放转换为数组的字符串
arr = str.split('')//将字符串转成数组
arr.forEach((o, i) => {
if (numberObj.hasOwnProperty(o)) {
numberObj[o]++
} else {
numberObj[o] = 1
}
})
console.log(numberObj)
for (var key in numberObj) {
if (numberObj[key] == 1) {
hasonce = true
resuleVal = key
break
}
}
console
if (hasonce) {
document.getElementById('resule').innerHTML = resuleVal
} else {
document.getElementById('resule').innerHTML = "该字符串没有只出现一次的字符串"
}
}
</script>
</html>
效果图
解法很多贴另外两个小伙伴写的
https://blog.csdn.net/weixin_42984035/article/details/104877119
https://blog.csdn.net/weixin_42203283/article/details/104895133