我正在尝试将下面的jQuery扩展转换为Prototype,如扩展名:
$.some = function(array, cmp_bool, context) {
if (Array.prototype.some) {
return array.some(cmp_bool, context);
} else {
if (context) {
cmp_bool = $.proxy(cmp_bool, context);
}
return !!($.grep(array, cmp_bool).length)
}
};
答案 0 :(得分:1)
PrototypeJS已将其内置于核心。
Array对象类型混合在Enumerable方法中 - 其中some()
方法具有完全相同的参数(没有数组作为第一个参数,因为您在Array实例上操作)
所以给出了这些
var testit = function(t){
return t < 10;
}
var myArray = [1, 2, 3, 7, 10];
您提供的jQuery扩展名就像这样调用
$.some(myArray,testit);
//or noConflict() mode
jQuery.some(myArray,testit);
并且像这样调用内置的PrototypeJS方法
myArray.some(testit);
**可枚举方法some()
的别名是此处链接的any()
方法
http://api.prototypejs.org/language/Enumerable/prototype/any/