CoffeeScript 列表推導(dǎo)

2022-06-29 16:54 更新

列表推導(dǎo)

問題

你有一個對象數(shù)組,想將它們映射到另一個數(shù)組,類似于Python的列表推導(dǎo)。

解決方案

使用列表推導(dǎo),但不要忘記還有[mapping-arrays]( http://coffeescript-cookbook.github.io/chapters/arrays/mapping-arrays) 。

electric_mayhem = [ { name: "Doctor Teeth", instrument: "piano" },
                    { name: "Janice", instrument: "lead guitar" },
                    { name: "Sgt. Floyd Pepper", instrument: "bass" },
                    { name: "Zoot", instrument: "sax" },
                    { name: "Lips", instrument: "trumpet" },
                    { name: "Animal", instrument: "drums" } ]

names = (muppet.name for muppet in electric_mayhem)
# => [ 'Doctor Teeth', 'Janice', 'Sgt. Floyd Pepper', 'Zoot', 'Lips', 'Animal' ]

討論

因為CoffeeScript直接支持列表推導(dǎo),在你使用一個Python的語句時,他們會很好地起到作用。對于簡單的映射,列表推導(dǎo)具有更好的可讀性。但是對于復(fù)雜的轉(zhuǎn)換或鏈?zhǔn)接成?,映射?shù)組可能更合適。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號