Ok so I just want to start off by saying I know very little about javascript. I am currently in a beginners course for javascript and am just being introduced to objects.
The goal of what I am trying to do is have a field were a user can type in text. From there after pressing a button The code needs to do two main things.
1. Give a number of occurrences of each letter of the alphabet used in the text
user enters: Hello world
eg. A=0, B=0,.. E=1,.. L= 3, etc
2. Length of words
eg. 5-letter word = 2 (this needs to display only the ones that are found)
Like I said I am just being introduced to objects and have a minimal foundation with functions and arrays. Hopefully someone can help me with this or at least give me some sort of direction on where to start.
[CODE]
var a = "Hello World";
var b = a.split("");
for(i in b){
switch(b[i]){
case "a": ....; break;
case "b": ....; break;
.....
}
}
[/CODE]
[CODE]var counter = new Array(26);
counter = [ ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
var counter2 = new Array()
counter2 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,];
var a = "hello world";//user input test
var b = a.split("");//Split at each character
var c = a.split(" ");//Split at spaces
for (var i in b){
switch(b[i]){
case "a": ++counter[1]; break;
case "b": ++counter[2]; break;
case "c": ++counter[3]; break;
case "d": ++counter[4]; break;
case "e": ++counter[5]; break;
case "f": ++counter[6]; break;
case "g": ++counter[7]; break;
case "h": ++counter[8]; break;
case "i": ++counter[9]; break;
case "j": ++counter[10]; break;
case "k": ++counter[11]; break;
case "l": ++counter[12]; break;
case "m": ++counter[13]; break;
case "n": ++counter[14]; break;
case "o": ++counter[15]; break;
case "p": ++counter[16]; break;
case "q": ++counter[17]; break;
case "r": ++counter[18]; break;
case "s": ++counter[19]; break;
case "t": ++counter[20]; break;
case "u": ++counter[21]; break;
case "v": ++counter[22]; break;
case "w": ++counter[23]; break;
case "x": ++counter[24]; break;
case "y": ++counter[25]; break;
case "z": ++counter[26]; break;
}
}
for (var j in c){
switch(c[j]){
case a.length=1: ++counter2[0]; break;
case a.length=2: ++counter2[1]; break;
case a.length=3: ++counter2[2]; break;
case a.length=4: ++counter2[3]; break;
case a.length=5: ++counter2[4]; break;
case a.length=6: ++counter2[5]; break;
case a.length=7: ++counter2[6]; break;
case a.length=8: ++counter2[7]; break;
case a.length=9: ++counter2[8]; break;
case a.length=10: ++counter2[9]; break;
case a.length=11: ++counter2[10]; break;
case a.length=12: ++counter2[11]; break;
case a.length=13: ++counter2[12]; break;
case a.length=14: ++counter2[13]; break;
case a.length=15: ++counter2[14]; break;
case a.length=16: ++counter2[15]; break;
case a.length=17: ++counter2[16]; break;
case a.length=18: ++counter2[17]; break;
case a.length=19: ++counter2[18]; break;
case a.length=20: ++counter2[19]; break;
case a.length=21: ++counter2[20]; break;
case a.length=22: ++counter2[21]; break;
case a.length=23: ++counter2[22]; break;
case a.length=24: ++counter2[23]; break;
}
}
[/CODE]
[CODE]
var string = "Hello World";
var words = string.split(" ");
var len = 5;
var counter = 0;
for(var i in words){
if(words[i].length == len)
counter++;
}
[/CODE]
first one should basically work.
within the second one you may misunderstood me.
I meant the following:
[CODE]
[/QUOTE]
var len = 5;
for(var i in words){
if(words[i].length == len)
counter++;
}
[/CODE]
[CODE]
for (var j in c){
switch(c[j].length){
case 1: ++counter2[0]; break;
[/CODE]
[CODE]
var counter = new Array(26);
counter = [ ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
var counter2 = new Array();
counter2 = [ ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
var string = "hello world";//user input test
var letters = string.split("");//Split at each character
var words = string.split(" ");//Split at spaces
for (var i in letters){
switch(letters[i]){
case "a": ++counter[1]; break;
case "b": ++counter[2]; break;
case "c": ++counter[3]; break;
case "d": ++counter[4]; break;
case "e": ++counter[5]; break;
case "f": ++counter[6]; break;
case "g": ++counter[7]; break;
case "h": ++counter[8]; break;
case "i": ++counter[9]; break;
case "j": ++counter[10]; break;
case "k": ++counter[11]; break;
case "l": ++counter[12]; break;
case "m": ++counter[13]; break;
case "n": ++counter[14]; break;
case "o": ++counter[15]; break;
case "p": ++counter[16]; break;
case "q": ++counter[17]; break;
case "r": ++counter[18]; break;
case "s": ++counter[19]; break;
case "t": ++counter[20]; break;
case "u": ++counter[21]; break;
case "v": ++counter[22]; break;
case "w": ++counter[23]; break;
case "x": ++counter[24]; break;
case "y": ++counter[25]; break;
case "z": ++counter[26]; break;
}
}
for (var j in words){
switch(words[j].length){
case 1: ++counter2[0]; break;
case 2: ++counter2[1]; break;
case 3: ++counter2[2]; break;
case 4: ++counter2[3]; break;
case 5: ++counter2[4]; break;
case 6: ++counter2[5]; break;
case 7: ++counter2[6]; break;
case 8: ++counter2[7]; break;
case 9: ++counter2[8]; break;
case 10: ++counter2[9]; break;
case 11: ++counter2[10]; break;
case 12: ++counter2[11]; break;
case 13: ++counter2[12]; break;
case 14: ++counter2[13]; break;
case 15: ++counter2[14]; break;
case 16: ++counter2[15]; break;
case 17: ++counter2[16]; break;
case 18: ++counter2[17]; break;
case 19: ++counter2[18]; break;
case 20: ++counter2[19]; break;
case 21: ++counter2[20]; break;
case 22: ++counter2[21]; break;
case 23: ++counter2[22]; break;
case 24: ++counter2[23]; break;
case 25: ++counter2[24]; break;
case 26: ++counter2[25]; break;
case 28: ++counter2[26]; break;
}
}[/CODE]
<i>
</i>function counter(string){
var ch=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];
var NC={}, NW=string.length, reg, i;
for(i=0;i<ch.length;i++){// build an object "character:occurance"
reg=new RegExp(ch[i],'gi');
NC[ch[i]]=string.match(reg)?string.match(reg).length:0;
}
NW=string.match(/b/g)?string.match(/b/g).length/2:string.length;//words counter
return [NC,NW]
}
<i>
</i><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>untitled</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
function counter(string){
var ch=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];
var NC={}, NW=string.length, reg, i;
for(i=0;i<ch.length;i++){// build an object "character:occurance"
reg=new RegExp(ch[i],'gi');// global and case insensitive
NC[ch[i]]=string.match(reg)?string.match(reg).length:0;
}
NW=string.match(/b/g)?string.match(/b/g).length/2:string.length;//words counter using the boundary mark
return [NC,NW]
}
function results(string){
var NC=counter(string)[0];
var NW=counter(string)[1];
var chTXT='', woTXT='Number of words is: '+NW;
for(c in NC){
chTXT+=c+'='+NC[c]+'<br>';
}
document.getElementById('characters').innerHTML=chTXT;
document.getElementById('words').innerHTML=woTXT;
}
</script>
</head>
<body>
<form action="">
<input type="text" name="inp"><input type="button" value="Count" onclick="results(inp.value)">
</form>
<div id="characters"></div>
<br>
<div id="words"></div>
</body>
</html>
[CODE]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
<script language="javascript" type="text/javascript">
var counter = new Array(26);
counter = [ ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
var counter2 = new Array();
counter2 = [ ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
var letters = string.split("");//Split at each character
var words = string.split(" ");//Split at spaces
function gen(){
//User input string
var userInput = document.getElementById("inputField");
userInput.toLowerCase();
for (var i in letters){
switch(letters[i]){
case "a": ++counter[1]; break;
case "b": ++counter[2]; break;
case "c": ++counter[3]; break;
case "d": ++counter[4]; break;
case "e": ++counter[5]; break;
case "f": ++counter[6]; break;
case "g": ++counter[7]; break;
case "h": ++counter[8]; break;
case "i": ++counter[9]; break;
case "j": ++counter[10]; break;
case "k": ++counter[11]; break;
case "l": ++counter[12]; break;
case "m": ++counter[13]; break;
case "n": ++counter[14]; break;
case "o": ++counter[15]; break;
case "p": ++counter[16]; break;
case "q": ++counter[17]; break;
case "r": ++counter[18]; break;
case "s": ++counter[19]; break;
case "t": ++counter[20]; break;
case "u": ++counter[21]; break;
case "v": ++counter[22]; break;
case "w": ++counter[23]; break;
case "x": ++counter[24]; break;
case "y": ++counter[25]; break;
case "z": ++counter[26]; break;
}
}
for (var j in words){
switch(words[j].length){
case 2: ++counter2 [1]; break;
case 3: ++counter2 [2]; break;
case 4: ++counter2 [3]; break;
case 5: ++counter2 [4]; break;
case 6: ++counter2 [5]; break;
case 7: ++counter2 [6]; break;
case 8: ++counter2 [7]; break;
case 9: ++counter2 [8]; break;
case 10: ++counter2[9]; break;
case 11: ++counter2[10]; break;
case 12: ++counter2[11]; break;
case 13: ++counter2[12]; break;
case 14: ++counter2[13]; break;
case 15: ++counter2[14]; break;
case 16: ++counter2[15]; break;
case 17: ++counter2[16]; break;
case 18: ++counter2[17]; break;
case 19: ++counter2[18]; break;
case 20: ++counter2[19]; break;
case 21: ++counter2[20]; break;
case 22: ++counter2[21]; break;
case 23: ++counter2[22]; break;
case 24: ++counter2[23]; break;
case 25: ++counter2[24]; break;
case 26: ++counter2[25]; break;
case 28: ++counter2[26]; break;
}
}
}
//-->
</script>
</head>
<body>
<form action="" method="get">
<input id="inputField" type="text" /><input name="Analyze" type="button" value="Analyze" onclick="gen()" />
</form>
</body>
</html>
[/CODE]
0.1.9 — BETA 5.27