首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过调用字符串使用array.prototype.map

通过调用字符串使用array.prototype.map
EN

Stack Overflow用户
提问于 2016-07-08 05:21:42
回答 1查看 1.3K关注 0票数 2

我知道call的基础和array.prototype.map.call()函数有两个参数,第一个是要使用的对象上下文,因为它在被调用的函数中,第二个是参数列表。但在MDN中,我发现了一个示例,其中通过调用方法使用array.prototype.map,并将字符串作为第一个参数传递。

我想知道如何在map函数中操作传递的字符串。不,这个关键字在地图功能中。映射如何知道它是在字符串上调用的?

代码语言:javascript
复制
var map = Array.prototype.map;
var a = map.call('Hello World', function(x) { return x.charCodeAt(0); });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-08 05:27:28

字符串在内部以下列格式表示:

代码语言:javascript
复制
String {0: "h", 1: "e", 2: "l", 3: "l", 4: "o", 5: " ", 6: "w", 7: "o", 8: "r", 9: "l", 10: "d", length: 11, [[PrimitiveValue]]: "hello world"}

因此,当它被传递到映射时,它实际上被视为一个数组,因为它具有作为键的索引和一个length属性。Array.prototype.map对其进行迭代以返回数组,该数组是在您通过Function.prototype.call方法传入的字符串上调用的。

尝试控制台中的new String('hello world')

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38259372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档