[英]Cons (:) in CoffeeScript?
Haskell提供了:
函數以將項目添加到列表的前面:
*Main> :t (:)
(:) :: a -> [a] -> [a]
例:
*Main> 1 : 2 : 3 : []
[1,2,3]
CoffeeScript是否存在這樣的功能/運算符?
我將使用本機unshift
方法,盡管它會返回結果數組的長度, 而不是數組本身的長度,所以您不能像示例所示那樣鏈接調用。
作為一種有趣的選擇, CoffeeScript的ranges功能允許進行splicing ,可以將其值添加到現有數組的前面:
array = [ 1, 2, 3 ]
array[..0] = [ 4, array[0] ]
console.log array # [ 4, 1, 2, 3 ]
更精確地講,它刪除數組的第一個元素,並在賦值的右側添加兩個元素(您所需的前綴和原始0值)。
我們甚至可以通過將其包裝在括號中並引入數組的引用變量來鏈接它:
array = [ 1, 2, 3 ]
(( array[..0] = [ 4, array[0] ] ) and array).unshift(5)
console.log array # [ 5, 4, 1, 2, 3 ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.