$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]"