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 许可协议

阅读 647
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 翻译
子站问答
访问
宣传栏