javascript - 带有 String.trim 的 Array.map

新手上路,请多包涵

为什么以下不起作用? (Chrome,所以没有 Arrays.map 丢失的问题)

 [" a ", "b", " c", "d "].map(String.prototype.trim)

TypeError: String.prototype.trim called on null or undefined

原文由 prasopes 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 646
2 个回答

map 将数组的每个元素作为参数传递给函数:

 [element1, e2].map(myFunction); // --> myFunction(element1); myFunction(e2)

String.prototype.trim 不是您传递要修剪的字符串的函数。您将该函数作为该字符串的方法调用,而不是:

 " some string ".trim(); // "some string"

要在 trim 中使用 .map ,您需要执行以下操作:

 [" a ", "b", " c", "d "].map(e => e.trim());

原文由 Cerbrus 发布,翻译遵循 CC BY-SA 4.0 许可协议

一个带有箭头功能的较短版本:

 [" a ", "b", " c", "d "].map(e => e.trim());

原文由 greuze 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏