- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请让我知道这段代码有什么问题:
我知道有更简单的方法可以实现所需的结果,但是我想了解如何使这个特定的代码运行,以及我的错误是什么。尝试尽可能少地改变它,否则让我知道为什么这不起作用。另请注意,我正在尝试 console.log
3 个值,而不仅仅是一个。谢谢。
编辑:这是我实际测试代码是否有效的 freeCodeCamp 练习:https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/find-the-longest-word-in-a-string由于某种原因,大多数答案都可以在此处的代码片段中使用,但不能在 freeCodeCamp 练习控制台中使用?
function findLongestWordLength(str) {
let arr = [];
let longestWord = "";
let longestNum = 0;
/*If there is a character at str[i] add it to the arr, else if there is whitespace
don't add it to the arr. Instead, find the arr.length, if is greater than the
previous overwrite longestNum, longestWord and empty the
arr, if not just empty the arr and keep going*/
for (let i = 0; i <= str.length - 1; i++) {
if (/./i.test(str[i])) {
arr.push(str[i]);
} else if (/\s/.test(str[i])) {
if (arr.length - 1 >= longestNum) {
longestNum = arr.length - 1;
longestWord = arr.join("");
arr = [];
} else {
longestNum = longestNum;
longestWord = longestWord;
arr = [];
}
}
}
console.log(arr);
console.log(longestWord);
console.log(longestNum);
return longestNum;
}
findLongestWordLength("The quick brown fox jumped over the lazy dog");
最佳答案
我假设使用 /./i.test(str[i])
您试图匹配除空格之外的所有内容。 .
匹配除换行符之外的所有内容,因此我将其切换为 [^\s]
它实际上匹配除空格之外的所有内容。我还将控制台日志放在循环之外,因此输出在某种程度上是可读的。
function findLongestWordLength(str) {
let arr = [];
let longestWord = "";
let longestNum = 0;
for (let i = 0; i <= str.length - 1; i++) {
if (/[^\s]/i.test(str[i])) {
arr.push(str[i]);
} else if (/[\s]/i.test(str[i])) {
if (arr.length > longestNum) {
longestNum = arr.length;
longestWord = arr.join("");
arr = [];
} else {
longestNum = longestNum;
longestWord = longestWord;
arr = [];
}
}
}
console.log(arr); // last word since you reset arr every step
console.log(longestWord);
console.log(longestNum);
return longestNum;
}
findLongestWordLength("The quick brown fox jumped over the lazy dog");
更好的方法是:
function findLongestWordLength(sentence) {
const words = sentence.split(' ');
return words.reduce((max, currentWord) => max > currentWord.length ? max : currentWord.length, 0);
}
关于javascript - 使用此代码在 JS 中查找字符串中最长的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58791089/
我正在尝试编写一个名为 map-longest 的 Clojure 实用函数(感谢备用名称建议)。该函数将具有以下“签名”: (map-longest fun missing-value-seq c1
为什么我创建了一个重复的线程 我在阅读后创建了这个线程 Longest increasing subsequence with K exceptions allowed .我意识到提出问题的人并没有真
我正在编写一个 Sub 来识别 1 到 1000 之间最长的 Collatzs 序列。由于我刚刚开始学习 VBA,我想知道如何添加过程来计算每个序列的长度。 Sub Collatz() Dim i
我正在编写一个 Sub 来识别 1 到 1000 之间最长的 Collatzs 序列。由于我刚刚开始学习 VBA,我想知道如何添加过程来计算每个序列的长度。 Sub Collatz() Dim i
我正在尝试减去 CSV 中的两列以创建第三列“持续时间”结束时间 - 开始时间 每一行也对应一个用户 ID。 我可以创建一个仅包含“持续时间”列的 csv 文件,但我宁愿将其重定向回原始 csv。 例
我在 2018.04 玩这个最长的 token 匹配,但我认为最长的 token 不匹配: say 'aaaaaaaaa' ~~ m/ | a+? | a+ /; # 「a」
因此,按照规范规定最终用户/应用程序提供的给定变量(200 字节)的字节长度。 使用 python 字符串,字符串的最大字符长度是多少,满足 200 字节,因此我可以指定我的数据库字段的 max_le
我需要针对我们的Jenkins构建集群生成每周报告。报告之一是显示具有最长构建时间的作业列表。 我能想到的解决方案是解析每个从属服务器(也是主服务器)上的“构建历史”页面,对于作业的每个构建,都解析该
我正在构建一个 iOS 应用程序,它将流式传输最长为 15 秒的视频。我阅读了有关 HLS 的好文章,因此我一直在对片段大小为 5 秒的视频进行转码。如果视频的第一部分加载时间太长,那么我们可以在接下
docs for Perl 6 longest alternation in regexes punt to Synopsis 5记录 longest token matching 的规则.如果不同的
我是一名优秀的程序员,十分优秀!