在输入字段中找到最长的单词并将其显示到另一个输入字段? [关闭]

问题描述 投票:-1回答:3

该程序的要求是:

  1. 具有一个允许用户键入句子或段落的输入区域
  2. 接受此输入元素并确定该文本中最长的单词。
  3. 输出单词和文档中单词的长度
//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键。

任何帮助将不胜感激。

javascript arrays string string-length strsplit
3个回答
0
投票

您当前的代码仅存储最长单词的长度,但是您还需要跟踪单词本身:

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;
}

0
投票

您可以在数组上利用Javascript的function findlongestWord(s) { return s.split(" ").reduce((a, c) => a.length < c.length ? c : a,''); } 函数。

reduce

0
投票

为了使这种情况发生,您需要添加一个事件侦听器,以便可以检测到单击按钮的时间,并相应地更新输入字段的值。

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;
});
© www.soinside.com 2019 - 2024. All rights reserved.