破坏性映射对象属性函数
Destructively map object properties function
我正在寻找用于映射或更改对象值的示例或解决方案 'destructively',而不是返回新对象或旧对象的副本。 underscore.js可以使用,因为项目已经使用了这个第三方库。
这就是这样一种解决方案的样子,使用下划线:
function mapValuesDestructive (object, f) {
_.each(object, function(value, key) {
object[key] = f(value);
});
}
映射器函数示例:
function simpleAdder (value) {
return value + 1;
}
和示例用法如下:
var counts = {'first' : 1, 'second' : 2, 'third' : 3};
console.log('counts before: ', counts);
// counts before: Object {first: 1, second: 2, third: 3}
mapValuesDestructive(counts, simpleAdder);
console.log('counts after: ', counts);
//counts after: Object {first: 2, second: 3, third: 4}
工作演示:http://jsbin.com/yubahovogi/edit?js,output
(别忘了打开你的控制台/devtools ;>)
我正在寻找用于映射或更改对象值的示例或解决方案 'destructively',而不是返回新对象或旧对象的副本。 underscore.js可以使用,因为项目已经使用了这个第三方库。
这就是这样一种解决方案的样子,使用下划线:
function mapValuesDestructive (object, f) {
_.each(object, function(value, key) {
object[key] = f(value);
});
}
映射器函数示例:
function simpleAdder (value) {
return value + 1;
}
和示例用法如下:
var counts = {'first' : 1, 'second' : 2, 'third' : 3};
console.log('counts before: ', counts);
// counts before: Object {first: 1, second: 2, third: 3}
mapValuesDestructive(counts, simpleAdder);
console.log('counts after: ', counts);
//counts after: Object {first: 2, second: 3, third: 4}
工作演示:http://jsbin.com/yubahovogi/edit?js,output
(别忘了打开你的控制台/devtools ;>)