JSBin을 사용하여 입력 문자열을 허용하는 JS 코드 블록을 작성한 다음 문자열에 포함 된 각 문자를 반환 (중복 문자 및 기타 문자 제거) 한 다음 몇 번이나 셀 수를 계산합니다. 각 편지는 문자열에 활용되었습니다. 추가 연습을 위해 정규 표현식을 통합하려고합니다.각 문자의 빈도 계산 -
필자가 작성한 코드는 중복 된 내용을 제거하는 것이 아니며 각 문자의 빈도를 제대로 계산하지도 않습니다. 누군가 내가 잘못한 것을 말해 줄 수 있습니까?
다음<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<input type="text" id="input"></input>
<button onclick="count()">Count letters</button>
<br>
<br>
<div id="output">Result</div>
</body>
</html>
는 JS입니다 :
function count() {
var x = document.getElementById("input").value.toString();
var y = "";
var z = [];
//Removal of white spaces and other characters.
x = x.replace(/[^a-z]/gi,"");
//Elimination of duplicate letters.
for (var i = 0; i < x.length; i++) {
if (/x.charAt(i)/i.test(y) === false) {
y += x.charAt(i);
}
}
//Count how many of each letter exists within the input string.
for(var i = 0; i < y.length; i++) {
for (var j = 0; j < y.length; j++) {
var freq = 0;
if (y.charAt(i) == y.charAt(j)) {
freq += 1;
}
z.push(freq);
}
}
//Write result to HTML document.
for (var i = 0; i < y.length; i++) {
document.write(y.charAt(i));
document.write(", ");
document.write(z[i]);
document.write("<br>");
}
}
이 도와 주셔서 너무 감사 여기
는 HTML입니다!
Understood - 연습으로 빠른 코드를 작성한 다음 삭제하는 중입니다. 내가 유지하고자하는 프로젝트에 대해 더 많은 설명 변수를 사용합니다. 혼란스러워서 죄송합니다. – CJamz
중복을 제거하려면 본질적으로 "hello"를 가져 와서 "helo"로 변환하고 싶습니다. 그러면 초기 문자열에 문자 l의 두 인스턴스가 있었기 때문에 출력이 h 1, e 1, l 2, o 1로 계산됩니다. , 그리고 각각의 다른 편지의 한 인스턴스. – CJamz