W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
你希望將兩個數(shù)組連接到一起。
在JavaScript中,有兩個標(biāo)準(zhǔn)方法可以用來連接數(shù)組。
第一種是使用JavaScript的數(shù)組方法concat():
array1 = [1, 2, 3]
array2 = [4, 5, 6]
array3 = array1.concat array2
# => [1, 2, 3, 4, 5, 6]
需要指出的是array1沒有被運(yùn)算修改。連接后形成的新數(shù)組的返回值是一個新的對象。
如果你希望在連接兩個數(shù)組后不產(chǎn)生新的對象,那么你可以使用下面的技術(shù):
array1 = [1, 2, 3]
array2 = [4, 5, 6]
Array::push.apply array1, array2
array1
# => [1, 2, 3, 4, 5, 6]
在上面的例子中,Array.prototype.push.apply(a, b)方法修改了array1而沒有產(chǎn)生一個新的數(shù)組對象。
在CoffeeScript中,我們可以簡化上面的方式,通過給數(shù)組創(chuàng)建一個新方法merge():
Array::merge = (other) -> Array::push.apply @, other
array1 = [1, 2, 3]
array2 = [4, 5, 6]
array1.merge array2
array1
# => [1, 2, 3, 4, 5, 6]
另一種方法,我可以直接將一個CoffeeScript splat(array2)放入push()中,避免了使用數(shù)組原型。
array1 = [1, 2, 3]
array2 = [4, 5, 6]
array1.push array2...
array1
# => [1, 2, 3, 4, 5, 6]
一個更加符合語言習(xí)慣的方法是在一個數(shù)組語言中直接使用splat運(yùn)算符(...)。這可以用來連接任意數(shù)量的數(shù)組。
array1 = [1, 2, 3]
array2 = [4, 5, 6]
array3 = [array1..., array2...]
array3
# => [1, 2, 3, 4, 5, 6]
CoffeeScript缺少了一種用來連接數(shù)組的特殊語法,但是concat()和push()是標(biāo)準(zhǔn)的JavaScript方法。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: