Prototype使用指南之array.js

$A = Array.from(iterable): 将iterable转化为数组,如果iterable定义了toArray方法,就调用这个方法,否则利用iterable的length属性进行枚举, 如果iterable没有length属性的话就返回空数组[]

Array对象除了扩展Enumerable对象的方法外,另外扩展了如下的几个方法,

注意以下方法除了clear外都不改变原来数组,而是返回一个新数组:

clear(): 清除数组,利用arr.length=0

first(): 返回第一个元素

last():返回最后一个元素

compact(): 去除数组中值为null或undefined的元素

flatten(): 将数组扁平化,例如[3,4,[6,7]]变为[3,4,6,7]

without(): 去除指定的元素, 可以指定多个值, 例如[4,56,7,8].without(4,7) 返回[56,8]

indexOf(object): 返回指定的元素在数组中的索引,不包含则返回-1

reverse(inline):Array内置函数reverse的增强,当inline为true时,跟内置的reverse函数效果一样,改变原数组的值,否则不改变原来的值

reduce(): 如果数组只有一个元素,则返回这个元素,否则返回数组本身

uniq(): 返回没有重复元素的数组

clone(): 返回一个跟数组相同的数组,Array中的toArray方法覆盖了Enumerable中的toArray方法,指向了这个方法

inspect(): 跟数组的toString方法类似,返回对象的字符串表示,例如[2,3].inspect() 返回 "[2,3]"

(0)

相关推荐

  • Prototype使用指南之array.js

    $A = Array.from(iterable): 将iterable转化为数组,如果iterable定义了toArray方法,就调用这个方法,否则利用iterable的length属性进行枚举, 如果iterable没有length属性的话就返回空数组[] Array对象除了扩展Enumerable对象的方法外,另外扩展了如下的几个方法, 注意以下方法除了clear外都不改变原来数组,而是返回一个新数组: clear(): 清除数组,利用arr.length=0 first(): 返回第一个

  • Prototype使用指南之base.js

    base.js中包含下面的内容  类的创建与继承: Class.create(): 创建一个类,例如 person=Class.create() Object.extend(destination, source): 把source中方法属性copy到destination(使用for propertyin source),需要注意的是,javascript中除了基本类型(Number, Boolean)外都是引用类型,所以这种copy一般只是copy引用而已,destination和sourc

  • Prototype使用指南之enumerable.js

    Enumerable是一个抽象对象(需要说明的是,javascript中并没有类的概念,所指的类也就是一个函数,继承一般指的是一个对象(父)将它的方法属性copy(通过Object.extend, copy的是引用)到子类(函数)的prototype属性(一个对象)中) Enumerable不能直接使用,它被很多枚举类型(Hash.Array.Range等)所继承,继承的类型都要实现一个_each方法,提供具体类型的枚举方法 Enumerable为其他子类提供了如下的方法: each(itera

  • Prototype使用指南之selector.js说明

    下面是css2 selector的语法,当然很多浏览器只是支持其中的一部分,Prototype 中的Selector主要支持tag选择器.class选择器和id选择器,还有属性(attribute)选择器,基本上包含我们平时所用的所有类型 The following table summarizes CSS2 selector syntax, 详细的可以看http://www.w3.org/TR/REC-CSS2/selector.html: Pattern Meaning Described

  • Prototype使用指南之selector.js

    Selector是利用css selector来匹配选择页面元素的,所以要理解Selector首先应该对css selector有所理解,下面是css2 selector的语法,当然很多浏览器只是支持其中的一部分,Prototype 中的Selector主要支持tag选择器.class选择器和id选择器,还有属性(attribute)选择器,基本上包含我们平时所用的所有类型 The following table summarizes CSS2 selector syntax, 详细的可以看ht

  • Prototype使用指南之hash.js

    Hash对象(关联数组)是Prototype新建的一个对象,要创建一个Hash对象可以调用$H(object)方法,因为javascript本身的特点(对象本身就是关联数组) ,所以实现Hash也很简单,Prototype中的Hash只是javascript的关联数组(对象) keys(): 返回hash的键值数组 values(): 返回值得数组 merge(hash): 合并两个hash toQueryString(): 跟string的toQueryParams方法想法,将hash转化为一

  • Prototype使用指南之string.js

    下面介绍Prototype对String对象的扩展部分: 这部分主要为string对象添加了几个很有用的方法: strip(): 去掉字符串两边的空白, 例如"  jj  ".strip()返回"jj" stripTags():去掉字符串中的html标签 stripScripts(): 去掉字符串中的javascript代码段 extractScripts(): 返回字符串中的javascript代码,返回数组 evalScripts(): 执行字符串中的javas

  • Prototype使用指南之dom.js

    这部分提供了很多(写的都有点烦了)方便的操作dom的方法:包含有名的$方法.document.getElementsByClassName方法,以及Element对象.Insertion对象 以下部分一个一个的详细介绍: $(element):getElementById的封装,element可以是一个元素的id或元素本身,也可以是一个数组,这时返回一个数组,使用$方法,会自动调用Element.extend(element)方法,这样的话使元素可以直接调用Element中的方法, 例如Elem

  • Prototype使用指南之range.js

    Range对象是一个继承自Enumerable的"范围"对象,你可以把它看成[x,x+1,x+2,x+3......x+n]的数组看待,但是比这样的数组跟节省存储空间,因为range对象只是保存x和x+n而已 要创建一个Range对象可以调用$R(start, end, exclusive) 方法,exclusive指定是否包含end本身,如果没有指定或为false则包含end,否则不包含 你可以利用Enumerable中定义的方法来操作range对象,range对象只是实现了Enum

  • Prototype使用指南之form.js

    这一部分提供了很多与表单操作有关的功能,包括以下部分,当通过$方法返回元素时,可以直接通过$(element).method()调用: Form对象:提供了操作整个表单的一些方法Form.Element对象:提供了操作某个表单元素的方法TimedObserver类:周期性表单监视器,当表单元素值改变的时候执行一个回调函数,有Form和Element两种类型EventObserver类:利用事件来监视表单元素,当表单元素值改变的时候执行一个回调函数,有Form和Element两种类型 Form对象

随机推荐