我有这个:
var Coords = function(x, y){
this.x = x;
this.y = y;
}
Coords.prototype.toArray = function(){
return [this.x, this.y];
}
现在我有了一个 Coords 对象数组。我想使用 toArray 方法将每个 Coords 实例转换为一个数组。 我可以写一个循环,但我宁愿使用 $.map,因为它更短且更易读。 不幸的是,这:
return $.map(coords_array, Coords.prototype.toArray);
根本没用。它只是停止执行。 问题可能是关于如何独立于任何对象引用方法。 在不先创建实例的情况下指向方法的任何方式? 或者将 $.map 与方法一起使用?
感谢您的见解。
编辑:好吧,事实上,它并没有停止执行(这来自另一个问题)但是 $.map(coords_array, Coords.prototype.toArray);
返回 [null, null ,空,空,空...]。
我觉得这种行为很奇怪。
最佳答案
尝试这样的事情:
return $.map(coords_array, function(val, i) { val.toArray(); });
引用here有关 jQuery 的 map 功能的更多引用。
关于javascript - 在不首先创建实例的情况下引用方法/使用 jQuery 或任何 javascript 映射函数映射方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12773527/