Jes*_*ria 5 javascript coffeescript lodash
我有一个对象:
z = {x: 'HHjjhjhHHHhjh', y: 'YYYYY', c: 'ssss'}
Run Code Online (Sandbox Code Playgroud)
我需要将所有值转换为小写
z = {x: 'hhjjhjhhhhhjh', y: 'yyyyy', c: 'ssss'}
Run Code Online (Sandbox Code Playgroud)
怎么一次这样做,也许用lodash?现在我在做:
z.x = z.x.toLowerCase()
z.y = z.y.toLowerCase()
z.c = z.c.toLowerCase()
Run Code Online (Sandbox Code Playgroud)
Ada*_*uch 18
使用lodash,您可以调用mapValues()来映射对象值,您可以使用method()来创建iteratee:
_.mapValues(z, _.method('toLowerCase'));
Run Code Online (Sandbox Code Playgroud)
在 JavaScript 中,您可以使用循环遍历对象的键for...in:
var z = {x: 'HHjjhjhHHHhjh', y: 'YYYYY', c: 'ssss'};
for(var i in z) {
z[i]= z[i].toLowerCase();
}
console.log(z);Run Code Online (Sandbox Code Playgroud)
我不知道 lodash 是否可以改进这一点。
很多你使用Lodash的东西可以在ES6/ES2015中轻松完成.例如,在这种情况下,您可以:
var z = { x: 'HHjjhjhHHHhjh', y: 'YYYYY', c: 'ssss' };
var y = Object.keys(z).reduce((n, k) => (n[k] = z[k].toLowerCase(), n), {});
console.log(y);
// { x: 'hhjjhjhhhhhjh', y: 'yyyyy', c: 'ssss' }
Run Code Online (Sandbox Code Playgroud)
挺整洁的,嗯?