CoffeeScript 列表推導(dǎo)

2022-06-29 16:54 更新

列表推導(dǎo)

問(wèn)題

你有一個(gè)對(duì)象數(shù)組,想將它們映射到另一個(gè)數(shù)組,類(lèi)似于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' ]

討論

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)