迭代对象属性并对其进行修改

6 浏览
0 Comments

迭代对象属性并对其进行修改

Underscore.js提供了集合的_.each_.map,这很好,但我需要遍历对象的所有属性。我需要修改值并保留键。例如,我有一个类似这样的对象:{a:1, b:2, c:3},我需要执行一个操作来改变值但保持键。比如说,我要计算平方,我应该得到{a:1, b:4, c:9}。问题是:如何使用underscore来实现这个(不考虑原生JavaScript)?我希望有一个像这样的方法:

var a = {a:1, b:2, c:3}
_.magic(a, function(item){ return item*item; });

此外,如果能够链式操作就更好了,因为我正在进行一次映射,将结果转储以进行每个操作,然后再次使用映射(因为我需要)。

0