2016-02-01 56 views
0

Ruby具有連接運算符<<。它可以用來將項目推送到一個數組(.push()也可以在Ruby中使用,但它更長)。它是這樣使用:在Javascript中使用Ruby的<<連接運算符

array = [1, 2] 
array << 3 
return array # Will return [1, 2, 3] 

是否有類似的JavaScript程式操作要做到這一點,或者我必須使用.push()


解決:有類似<<沒有使用Javascript操作。你必須使用推(或者創建擁有像a短名稱的功能,推動它需要的唯一參數)


+0

如果你想使用Ruby編寫JavaScript,我d建議你看一下Opal:https://github.com/opal/opal – ReggieB

+0

我不打算使用Ruby來編寫Javascript,只有當Javascript具有與<< <<相似的運算符時。無論如何感謝鏈接! – Druzion

回答

3

JavaScript不支持運算符重載,它的語法特性與Ruby非常不同。例如,在Ruby中,在進行函數調用時,可以省略參數周圍的括號。

arr << 4 

相當於

arr.<<(4) 

的JavaScript不允許這種靈活性,因此,你問可能無法

+0

那麼沒有Javascript運算符?謝謝! – Druzion

0

這是我能想到的,最短路徑不使用推()

var arr = [1, 2, 3]; 
arr[arr.length] = 4; 

如果arr的長度屬性已被外部操縱,它也開放錯了。

arr.length = 100; 

例如,我喜歡使用push()的最好方法,但如果你真的想使用它,這是一個選擇。我不確定在JS中存在推送到數組的更短路。

+0

這比'arr.push(4)'長' – Stefan

+0

你誤解了我的問題,我不介意使用'.push()',但'<<'的長度縮短了5個數字。我想知道是否存在Javascript運算符。不過謝謝你的答案! – Druzion

+0

是的,我試着添加Array.prototype [「<<」] = Array.prototype.push;只是爲了看看什麼可能是可能的,但我無法得到它的工作,並且將事物添加到prorotype可能不是一個好主意。 –