在功能上访问对象属性

时间:2015-02-12 14:38:48

标签: javascript

我目前正在做以下事情:

var item1 = new Object();
item1.name = 'a & b';
item1.description = 'Do a & then do b';
item1.untouched = 'Dont touch this';

var item2 = new Object();
item2.name = 'c';
item2.description = 'Do something else';
item2.untouched = 'Dont touch this';

uppercaseProperties = function( properties, obj ) {
    properties.forEach( function( p ) { obj[ p ] = obj[ p ].toUpperCase() } );
    return obj;
}

[item1, item2].map( function( item ) {
    return this.uppercaseProperties( ['name', 'description'], item );
}, this );

为了简洁和表达,我更倾向于使用map代替forEach,例如

uppercaseProperties = function( properties, obj ) {
    properties.map( function( p ) { return obj[ p ].toUpperCase(); } );
    return obj;
}

但这不起作用,因为它只返回修改后的属性,而不是整个对象。因此,我在这里需要做的是在功能上访问obj的成员x。现在我显然可以编写一个能够实现这一功能的函数,但是我想知道JavaScript是否有任何原生的东西? (FWIW,C++ has。)

0 个答案:

没有答案