javascript - 为什么这个简单的计数器要计算一个额外的单词?

标签 javascript

html:

enter image description here

我正在做以下事情:

var words = $("#input-content > p").map(function() {
  return $.text(this);
}).get().join(" ");

哪些输出:

"one two three four "

我不明白为什么要这样做:

words.split(" ").length

当只有 4 个单词时输出 5

这是为什么呢?如何解决?

最佳答案

String "one two three four " 有一个尾随空格,它会在结果数组的末尾添加一个额外的空字符串,即 ["one", "two", "三”、“四”、“”]

为了解决这个问题,考虑使用 trim 功能,比如$.trim()在 jQuery 中。

关于javascript - 为什么这个简单的计数器要计算一个额外的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23108161/

相关文章:

javascript - 使用 React-Router 关闭 Bootstrap 模式后重定向

javascript - 使用日期格式对字符串数组进行排序

javascript - 更改现有 css 规则的好方法是什么

javascript - 在 Angular Directive(指令)、服务和 Controller 之间共享数据

javascript - JavaScript 中可以将初始化存储为字符串吗?

javascript - 使用 PassportJS 和 dynamoDB 的 Express 应用程序定位到登录页面,没有错误

javascript - $(document).ready() 中的代码未准备好

javascript - 如果我使用 Object.defineProperty() 定义 "name"属性,Error.prototype.toString() 将抛出 TypeError

javascript - 属性值不能在 javascript 中取消定义

javascript - 使用 jQuery 获取具有数组类型名称的文本字段的值