[英]JavaScript/HTML: find longest word and compare to current word
I'm writing a code that : 我正在写一个代码:
I've been working this code for two days and feel like completely lost in somewhere. 我已经在这段代码中使用了两天,感觉好像完全迷失在某个地方。 Please advise me to improve my code. 请建议我改善代码。
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Wrap Text </title> <script> //Determine Longest word and compare to currend word function longWord(string){ var lengthOfString = 0; var arrayOfText = string.split(" "); for ( i = 0; i < arrayOfText.length; i++){ if (arrayOfText[i].length > lengthofString){ lengthOfString = arrayOfText[i].length; } } return lengthOfString; } // Longest vs current word function layoutString(string, length){ var x = 0; var testLength = 0; var testLength = arrayOfText[i].length; do { testLength + 1 + arrayOfText[i].length } while (testLength > longWord); } //Call this function in HTML function wrapText(string) { var length = longWord(string); layoutString(string, length); document.getElementById("demo").innerHTML += arrayOfText + "<br>"; } </script> </head> <body> <h3>Let's Wrap your text!</h3> <!--User Input Section--> <p>Enter Text: <input id="yourValue" value=""></p> <p id="demo"></p> <!--Button executing function--> <button onclick="wrapText(yourValue.value)">Wrap Text</button> </body> </html>
Some issues: 一些问题:
I'm not sure about your 4th requirement as all words' length will be less or equal than the longest word's length, so I add hyphens in front of all shorter words so they are all the same length. 我不确定您的第4个要求,因为所有单词的长度都将小于或等于最长单词的长度,因此我在所有较短单词的前面加上连字符,使它们的长度均相同。 Maybe that gets you closer to your final goal. 也许这使您更接近最终目标。
Try this: 尝试这个:
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Wrap Text </title> <script> //Determine Longest word and compare to current word function longWord(string){ var lengthOfString = 0; var arrayOfText = string.split(" "); for (var i = 0; i < arrayOfText.length; i++){ if (arrayOfText[i].length > lengthOfString){ lengthOfString = arrayOfText[i].length; } } return lengthOfString; } // Longest vs current word function layoutString(string, length){ var arrayOfText = string.split(" "); for (var i = 0; i < arrayOfText.length; i++){ while (arrayOfText[i].length < length) { arrayOfText[i] = '-' + arrayOfText[i]; }; } return arrayOfText; } //Call this function in HTML function wrapText(string) { var longestWordLength = longWord(string), strings = layoutString(string, longestWordLength), demo = document.getElementById("demo"); demo.innerHTML = ''; for (var i = 0; i < strings.length; i++){ demo.innerHTML += strings[i] + "<br>"; } } </script> </head> <body> <h3>Let's Wrap your text!</h3> <!--User Input Section--> <p>Enter Text: <input id="yourValue" value=""></p> <p id="demo"></p> <!--Button executing function--> <button onclick="wrapText(yourValue.value)">Wrap Text</button> </body> </html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.