dbLocation[latitude] = data[1]
dbLocation[longitude] = data[2]
dbLocation[locationText] = locationText
這是我的CoffeeScript
,沒有辦法優化它,所以它更緊湊?我怎麼能同時設置多個對象的屬性與CoffeeScript的?
dbLocation[latitude] = data[1]
dbLocation[longitude] = data[2]
dbLocation[locationText] = locationText
這是我的CoffeeScript
,沒有辦法優化它,所以它更緊湊?我怎麼能同時設置多個對象的屬性與CoffeeScript的?
你可以寫
obj = {
latitude: data[1]
longitude: data[2]
locationText
}
,然後通過寫入
dbLocation[key] = val for key, val of obj
或使用像jQuery或下劃線的extend
功能合併新對象中dbLocation
。
沒有辦法一步到位做到這一點? – Shamoon
不無輔助函數。如果您使用Underscore.js:'_.extend dbLocation,{緯度:數據[1],經度:數據[2],locationText}'。如果您使用的是jQuery,請改用'.extend'。 –
這裏是一個一行,但它不是真的更可讀:
[dbLocation.latitude, dbLocation.longitude, dbLocation.locationText] = [data[1], data[2], locationText]
嗯,在JavaScript中有'Object.defineProperties' ... –
不知道如何幫助... – Shamoon
你會有寫對象的名字 - 'dbLocation'在這種情況下 - 只有一次(而不是例如三次在你的代碼)。 –