Javascript 在单个数组映射方法中使用string trim和toLowerCase方法无法按预期工作
我有一个字符串,我想对其进行处理: 1) 将其按“.”拆分并生成一个数组 2) 使每个单词和字符小写 3) 修剪数组元素 我知道我们可以通过单独编码每个步骤来实现这一点,但我想在一行中实现这一点。 但是它让我困惑,为什么我不能使用Javascript 在单个数组映射方法中使用string trim和toLowerCase方法无法按预期工作,javascript,Javascript,我有一个字符串,我想对其进行处理: 1) 将其按“.”拆分并生成一个数组 2) 使每个单词和字符小写 3) 修剪数组元素 我知道我们可以通过单独编码每个步骤来实现这一点,但我想在一行中实现这一点。 但是它让我困惑,为什么我不能使用map(s=>s.toLowerCase()&&s.trim())只有map中的最后一个方法有效 如有任何建议,将不胜感激 let trapSt='I Was Sent=I Sent。到地球=到月球 trapSt=trapSt.拆分(“.”) 只有小写字母在这里有效=
map(s=>s.toLowerCase()&&s.trim())
只有map中的最后一个方法有效
如有任何建议,将不胜感激
let trapSt='I Was Sent=I Sent。到地球=到月球
trapSt=trapSt.拆分(“.”)
只有小写字母在这里有效=trapSt.map(s=>s.trim()和&s.toLowerCase());/???为什么只有s.toLowerCase()在这里工作???!!!!
只有_Trim_在这里起作用_=trapSt.map(s=>s.toLowerCase()&s.Trim());/???为什么只有s.trim()在这里工作???!!!!
log(此处仅使用小写字母);
console.log(此处仅适用于修剪)
因为toLowerCase
和trim
没有就地修改字符串,所以它们在修改后返回字符串
&&
与以下内容不同:
s.toLowerCase().trim()
这就是你想要的
试试这个:
let trapSt='I Was Sent=I Sent。到地球=到月球
trapSt=trapSt.拆分(“.”)
只有小写字母在这里有效=trapSt.map(s=>s.trim()和&s.toLowerCase());/???为什么只有s.toLowerCase()在这里工作???!!!!
只有_Trim_在这里有效=trapSt.map(s=>s.toLowerCase().Trim());/???为什么只有s.trim()在这里工作???!!!!
log(此处仅使用小写字母);
console.log(此处仅适用于修剪);
字符串是不可变的。您可以链接方法s.toLowerCase().trim()
,也可以在执行拆分之前在原始字符串上使用toLowerCase
。感谢您的回答。。。加一。。。事实上,我很惊讶它是如何工作的。。。我记得toLowerCase().trim()
以前导致过错误!这就是为什么我使用了&&
…没问题,谢谢!如果所讨论的“字符串”为null
或未定义
,则会出现错误。除此之外,任何有效字符串都应该能够通过.toLowerCase().trim()