推送到对象而不是数组
Push to object instead of array
我正在使用下划线将一些道具提取到一个单独的对象中,但结构不是我想要的:
let element = {
foo: 0,
bar: 1,
baz: _.map(
_.filter(element.properties, (prop) =>
_.contains(validationProps, prop.name)), (rule) =>
({ [rule.name]: rule.value }) )
}
.. returns baz
:
的对象数组
[ {"required":true} , {"maxLength":242} ]
.. 然而我需要的是:
{ "required":true, "maxLength":242 }
或使用JavaScript的Array.prototype.reduce()
The reduce() method executes a reducer function (that you provide) on each member of the array resulting in a single output value.
let data = [{
"name": "label",
"value": "Short 2"
},
{
"name": "required",
"value": true
},
{
"name": "maxLength",
"value": 242
}
];
let reformatted = data.reduce((pv, cv) => {
pv[cv.name] = cv.value;
return pv;
}, {});
console.log(reformatted);
我正在使用下划线将一些道具提取到一个单独的对象中,但结构不是我想要的:
let element = {
foo: 0,
bar: 1,
baz: _.map(
_.filter(element.properties, (prop) =>
_.contains(validationProps, prop.name)), (rule) =>
({ [rule.name]: rule.value }) )
}
.. returns baz
:
[ {"required":true} , {"maxLength":242} ]
.. 然而我需要的是:
{ "required":true, "maxLength":242 }
或使用JavaScript的Array.prototype.reduce()
The reduce() method executes a reducer function (that you provide) on each member of the array resulting in a single output value.
let data = [{
"name": "label",
"value": "Short 2"
},
{
"name": "required",
"value": true
},
{
"name": "maxLength",
"value": 242
}
];
let reformatted = data.reduce((pv, cv) => {
pv[cv.name] = cv.value;
return pv;
}, {});
console.log(reformatted);