使用不带下划线的地图重新格式化对象
Reformat object with map without underscore
我有对象
myObject = {
1010: "Some label",
1020: "Another label",
}
我正在这样使用_.map
var generateOptions = function ( object ) {
return _.map( object, function( value, key ) {
return {
value: key,
label: key + ' - ' + value
};
} );
}
它曾经使用下划线的 _.map
但我想使用内置函数 map
。我试过了
var generateOptions = function ( object ) {
return object.map( function( value, key ) {
return {
value: key,
label: key + ' - ' + value
};
} );
}
但似乎 map
函数仅适用于数组。
我怎样才能得到相同的结果?
试试这个
var myObject = {
1010: "Some label",
1020: "Another label",
};
var generateOptions = function ( object ) {
return Object.keys(object).map( function( key ) {
return {
value: key,
label: key + ' - ' + object[key]
};
});
}
console.log(generateOptions(myObject));
您可以使用 prototype
.
为对象赋予 map
功能
Object.prototype.map = function(callback) {
var thisObj = this;
return Object.keys(thisObj).map(function(key) {
return {
key: key,
value: thisObj[key]
};
}).map(callback);
}
这将允许您对任何对象调用 map
并将其视为键值对数组。
在你的情况下,它将是:
var generateOptions = function ( object ) {
return object.map(function( keyValue ) {
return {
value: keyValue.key,
label: keyValue.key + ' - ' + keyValue.value
};
});
}
我有对象
myObject = {
1010: "Some label",
1020: "Another label",
}
我正在这样使用_.map
var generateOptions = function ( object ) {
return _.map( object, function( value, key ) {
return {
value: key,
label: key + ' - ' + value
};
} );
}
它曾经使用下划线的 _.map
但我想使用内置函数 map
。我试过了
var generateOptions = function ( object ) {
return object.map( function( value, key ) {
return {
value: key,
label: key + ' - ' + value
};
} );
}
但似乎 map
函数仅适用于数组。
我怎样才能得到相同的结果?
试试这个
var myObject = {
1010: "Some label",
1020: "Another label",
};
var generateOptions = function ( object ) {
return Object.keys(object).map( function( key ) {
return {
value: key,
label: key + ' - ' + object[key]
};
});
}
console.log(generateOptions(myObject));
您可以使用 prototype
.
map
功能
Object.prototype.map = function(callback) {
var thisObj = this;
return Object.keys(thisObj).map(function(key) {
return {
key: key,
value: thisObj[key]
};
}).map(callback);
}
这将允许您对任何对象调用 map
并将其视为键值对数组。
在你的情况下,它将是:
var generateOptions = function ( object ) {
return object.map(function( keyValue ) {
return {
value: keyValue.key,
label: keyValue.key + ' - ' + keyValue.value
};
});
}