gpt4 book ai didi

Javascript 映射 native 对象方法

转载 作者:行者123 更新时间:2023-11-29 10:24:39 25 4
gpt4 key购买 nike

在 Python 中,你可以这样:

>>> list(map(str.upper, ['foo','bar']))
['FOO', 'BAR']

我希望能够在 javascript 中做类似的事情:

我在 Chrome 中使用 native map 实现 (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/map) 尝试了以下操作:

['foo','bar'].map(String.prototype.toUpperCase)

['foo','bar'].map(String.prototype.toUpperCase.call)

为什么调用不起作用?有什么优雅的方法可以做到这一点,还是我必须将 toUpperCase 包装在回调函数中?谢谢

最佳答案

尝试:

['foo','bar'].map(Function.prototype.call.bind(String.prototype.toUpperCase))

或者同样的效果:

['foo','bar'].map(Function.call.bind("".toUpperCase))

JavaScript 对 this 的处理是一次糟糕的旅行。

关于Javascript 映射 native 对象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4167854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com