该程序的要求是:
- 具有一个允许用户键入句子或段落的输入区域
- 接受此输入元素并确定该文本中最长的单词。
- 输出单词和文档中单词的长度
//This is what I currently have for the source code
<body>
<div id="container">
<h2>FIND THE LONGEST WORD PROGRAM!</h2>
<div id="words">
Type a Sentence: <input type="text" name="sentence" id="sentence">
</div>
<div id="lword">Longest Word:
<input type="text" name="longest" id="longest">
</div>
</div>
</body>
//This is what I have for my JS:
function findlongestword(str) {
var strSplit = str.split(" ");
var longestWord = 0;
for(var i = 0; i < strSplit.length; i++){
if(strSplit[i].length > longestWord){
longestWord = strSplit[i].length;
}
}
return longestWord;
}
我最近开始学习JavaScript,这是我学习更多内容的项目之一,但是当您在[?0]函数中将最长的单词返回到“最长的单词”文本输入中时,我一直坚持不懈。按下Enter键。
任何帮助将不胜感激。
您当前的代码仅存储最长单词的长度,但是您还需要跟踪单词本身:
findlongestword
或简而言之:)
function findlongestWord(str) {
var strSplit = str.split(" ");
var longestWordLength = 0;
var longestWord = "";
for (var i = 0; i < strSplit.length; i++) {
if (strSplit[i].length > longestWordLength) {
longestWord = strSplit[i];
longestWordLength = longestWord.length;
}
}
return longestWord;
}
您可以在数组上利用Javascript的function findlongestWord(s) {
return s.split(" ").reduce((a, c) => a.length < c.length ? c : a,'');
}
函数。
reduce
为了使这种情况发生,您需要添加一个事件侦听器,以便可以检测到单击按钮的时间,并相应地更新输入字段的值。
var sentence = "orange fruit apple banana bigbanana";
function getLongestWord(word) {
return word.split(" ").reduce((x, y) => x.length > y.length ? x : y);
}
console.log(getLongestWord(sentence));
let one = document.getElementById("one");
let two = document.getElementById("two");
let button = document.getElementById("button");
button.addEventListener("click", () => {
two.value = one.value;
});
如果您想听输入的keydown事件,则可以执行以下操作:
<input type="text" id="one" placeholder="1) type something" />
<input type="text" id="two" disabled />
<button id="button">2) Click me</button>
let input = document.getElementById("input");
let text = document.getElementById("text");
input.addEventListener("keydown", () => {
text.textContent = input.value;
});