开发手册 欢迎您!
软件开发者资料库

Prototype - 枚举

Prototype 枚举 - 从简单和简单的步骤学习原型,从基本到高级概念,包括概述,如何使用Prototype JavaScript框架操作DOM和AJAX,实用功能,实用方法,元素对象,数字处理,字符串处理,数组处理,散列处理,基本对象,基本对象,枚举,事件处理,表单管理,JSON,AJAX,表达范围,定期执行。

Enumerable类为枚举提供了大量有用的方法.枚举是充当值集合的对象.

枚举方法主要用于枚举数组哈希.还有其他对象,如 ObjectRange 和各种与DOM或AJAX相关的对象,您可以使用枚举方法.

上下文参数

采用迭代器的每个Enumerable方法也将上下文对象作为下一个(可选)参数.上下文对象是迭代器将绑定到的对象,因此其中的 this 关键字将指向该对象.

var myObject = {};['foo', 'bar', 'baz'].each(function(name, index) {   this[name] = index;}, myObject); // we have specified the contextmyObject;


这将产生以下结果 :

输出

  {foo:0,bar:1,baz:2}


高效使用

  • 当您需要在所有元素上调用相同的方法时,请使用 invoke()方法.

  • 当您需要在所有元素上获取相同的属性时,请使用 pluck()方法.

  • findAll/select 方法检索与给定谓词匹配的所有元素.相反, reject()方法检索与谓词不匹配的所有元素.在需要两个集合的特定情况下,可以避免循环两次:只需使用 partition()方法.

以下是与Enumerable相关的所有方法的完整列表.

Prototype Enumerable Methods

注意 去;确保你至少拥有prototype.js的1.6版.

S.No.Method&说明
1.all()

直接或通过提供的迭代器计算确定所有元素是否都是布尔等效于true./p>

2.any()

直接或通过提供的计算确定是否至少有一个元素是布尔等效于true的元素迭代器.

3.collect()

返回将迭代器应用于每个元素的结果.别名为map().

4.detect()

查找迭代器返回true的第一个元素.由find()方法别名.

5.each()

它允许您以通用方式迭代所有元素,然后返回Enumerable,从而允许进行链式调用.

6.eachSlice()

基于给定的块分组项目大小,最后一个块可能更小.

7.entries()

更通用的toArray方法的别名.

8.find()

查找迭代器返回true的第一个元素. detect()的便利别名.

9.findAll()

返回迭代器返回true的所有元素.别名为select().

10.grep()

返回与过滤器匹配的所有元素.如果提供了迭代器,它将用于为每个选定元素生成返回值.

11.inGroupsOf()

群组固定大小的块中的项目,如果需要,使用特定值填充最后一个块.

12.include()

根据==比较运算符确定给定对象是否在Enumerable中.别名为成员().

13.inject()

根据迭代器的连续结果逐步构建结果值.

14.invoke()

优化每个()或collect()的常见用例:调用相同的方法,具有相同的潜在参数,用于所有元素.

15.map()

返回应用迭代器的结果每个元素. collect()的便利别名.

16.max()

返回最大元素(或基于元素的计算),或者如果枚举为空,则为undefined.元素要么直接比较,要么首先应用迭代器并比较返回值.

17.member()

确定是否给定对象是否在Enumerable中,基于==比较运算符.包含()的便利别名.

18.min()

返回最小元素(或基于元素的计算),或者如果枚举为空,则为undefined.元素要么直接比较,要么首先应用迭代器并比较返回值.

19.partition()

对元素进行分区分为两组:那些被认为是真的,那些被认为是假的.

20 .pluck()

常用的优化 - collect()的情况:为所有元素获取相同的属性.返回属性值.

21.reject()

返回迭代器返回false的所有元素.

22.select()

findAll()方法的别名.

23.size()

返回枚举的大小.

24.sortBy()

根据迭代器为每个元素计算的条件,提供元素的自定义排序视图.

25.toArray()

返回枚举的Array表示形式.别名为条目().

26.zip()

拉链(想想一条裤子上的拉链)2 &加;序列,提供一组元组.每个元组包含每个原始序列的一个值.