我在组件中具有以下功能:
updateInfo(info: NgForm) {
const changedValues = Object.keys(info.controls)
.filter(key => info.controls[key].dirty === true)
.map(key => {
return { control: key, value: info.controls[key].value }
});
console.log(changedValues);
}
此函数发出更改形式的值,但现在我想使用changedValues
如下构建数组:
{firstName:“约翰”,lastName:“ sam”}
我该如何实施?
[Edit:当前在控制台日志中得到这样的信息
[
{firstName: "john"},
{lastName: "sam"}
]
请勿使用map
,因为它会返回一个数组。而是使用forEach
并将这些项目添加到您的对象中:
updateInfo(info: NgForm) {
const changedValues = {};
Object.keys(info.controls).forEach(key => {
if (info.controls[key].dirty) {
changedValues[key] = info.controls[key].value;
}
});
console.log(changedValues);
}