Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在单个数组映射方法中使用string trim和toLowerCase方法无法按预期工作_Javascript - Fatal编程技术网

Javascript 在单个数组映射方法中使用string trim和toLowerCase方法无法按预期工作

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.拆分(“.”) 只有小写字母在这里有效=

我有一个字符串,我想对其进行处理:

1) 将其按“.”拆分并生成一个数组

2) 使每个单词和字符小写

3) 修剪数组元素

我知道我们可以通过单独编码每个步骤来实现这一点,但我想在一行中实现这一点。 但是它让我困惑,为什么我不能使用
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()