gpt4 book ai didi

javascript - 未定义没有方法 'map'

转载 作者:行者123 更新时间:2023-11-28 10:16:41 29 4
gpt4 key购买 nike

在运行某个特定函数时,我不断收到这些奇怪的错误,但我无法弄清楚。这是设置。

MyObject.prototype._activate = function() {
...
}

...

encode = function(data) {
var str;
str = data.map(function(d) {
return String.fromCharCode(d)
}).join("");
return btoa(str).replace(/.{76}(?=.)/g, '$&\n');
}

var mystring = encode(somedata);

错误发生在 data.map 行,它是这样的:

未捕获类型错误:对象引用错误:_activate 未定义,没有方法“map”

当然,MyObject 与编码方法完全无关。我在 data.map 上放置了一个断点,并且 data 是一个数组。它与 MyObject 或 _activate 无关,所以我想知道这是否是 Chrome 报告错误的错误或发生了什么。

编辑:更多信息。我的代码中也有这个:

var instance = new MyObject();

var encoded = encode(somedata);

instance.load(encoded);

如果我注释掉instance.load(encoded)行,我不会收到错误。这让我觉得encode() 没有同步发生......

最佳答案

在 JavaScript 中,数组和对象通常是可以互换的,例如以下应该给出相同的结果:

alert(a.mem);
alert(a["mem"]);

鉴于正在调用 map 函数,我希望 data 在概念上无论如何都是一个数组。

Map was impletemented in JavaScript 1.6 and standardised ECMA 5所以我期望 browser support for it to be limited (在撰写本文时)。

可能是这些限制的副作用导致了这种情况。

关于javascript - 未定义没有方法 'map',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6468167/

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