aad*_*ira 4 javascript object ecmascript-6 lodash
将lodash _.mapValues转换为ES6的不同方法有哪些.
码:
var fruits= {
'apple': { 'name': 'apple', 'number': 5},
'orange': { 'name': 'orange', 'number': 10 }
};
_.mapValues(fruits, 'number');
Run Code Online (Sandbox Code Playgroud)
输出:
{ 'apple': 5, 'orange': 10 }
Run Code Online (Sandbox Code Playgroud)
Cer*_*nce 10
reduce将entries对象转换为另一个对象,仅从number值中提取:
var fruits= {
'apple': { 'name': 'apple', 'number': 5},
'orange': { 'name': 'orange', 'number': 10 }
};
console.log(Object.entries(fruits)
.reduce((a, [key, { number }]) => {
a[key] = number;
return a;
}, {}
));Run Code Online (Sandbox Code Playgroud)
您可以使用for..in循环并将旧对象的键和值添加到新对象
var fruits = {
'apple': {
'name': 'apple',
'number': 5
},
'orange': {
'name': 'orange',
'number': 10
}
};
let newObj = {};
for (let keys in fruits) {
newObj[keys] = fruits[keys].number;
}
console.log(newObj)Run Code Online (Sandbox Code Playgroud)