是否沒有無處不在/標準的Javascript或Coffeescript函數轉換對象/地圖/散列值?任何轉換對象*值*的Javascript或Coffeescript`map`函數?
jQuery has $.map
但它只生成Array
。
Underscore has _.map
但它也只產生Array
。
要清楚,像這樣的功能就是我正在尋找的功能。 (這個例子是寫在CoffeeScript中不使用Javascript)
# Transforms the values in a map. (Doesn't modify `obj` — returns a new map.)
# Example usage:
# mapObjVals({ a: 'aa', b: 'bb'}, (key, value) -> value + '_!')
# --> { a: 'aa_!', b: 'bb_!' }
mapObjVals = (obj, f) ->
obj2 = {}
for k, v of obj
obj2[k] = f k, v
obj2
你似乎已經回答了你自己的問題:)只要確保你使用'爲自己的k,v的obj'來防止被原型擴展位。我會直接使用'for'循環而不是輔助函數,因爲這是一種罕見的現象。 –