为什么将`''.trim()`直接传递给`[].map()`的回调函数不起作用?

8 浏览
0 Comments

为什么将`''.trim()`直接传递给`[].map()`的回调函数不起作用?

我有一个字符串数组。我想要对数组中的每个字符串进行修剪。

我尝试使用[].map()''.trim()来实现...

[' a', ' b   ', 'c'].map(String.prototype.trim);

...但是我的控制台显示...

TypeError: String.prototype.trim 被调用时为 null 或 undefined

jsFiddle

我在数组中没有看到任何 nullundefined 值。

String.prototype.trim()Array.prototype.map() 在我用来测试的 Chrome 17 中都有定义。

为什么这不起作用?我觉得我可能忽略了一些显而易见的东西。

我意识到我可以使用循环或者在其中添加一个函数。然而,这不是这个问题的重点。

0