angular - 来自数组的角度映射字段,同时仅将数字转换为字符串?
问题描述
我有一个模型,需要将从下面的另一个 json 对象过滤的这个 json 映射到模型。我想将所有数值转换为字符串,但保持布尔值不变。如何动态完成?
var users = [{
"firstName": "john",
"middleName": null,
"lastName": "doe",
"registrationNumber": 334,
"isOld": true
},
{
"firstName": "paul",
"middleName": null,
"lastName": "dean",
"registrationNumber": 123,
"isOld": true
},
{
"firstName": "andrew",
"middleName": null,
"lastName": "mac",
"registrationNumber": 132,
"isOld": true
}
]
这会将过滤后的数据映射到我的模型,但是数字字段仍然是数字,我需要它们作为字符串。请记住,这是动态数据,所以我可能没有数字。
this.model = {};
users.map(item => this.model[item.key] = item.value);
解决方案
试试这个
let users = [{
"firstName": "john",
"middleName": null,
"lastName": "doe",
"registrationNumber": 334,
"isOld": true
},
{
"firstName": "paul",
"middleName": null,
"lastName": "dean",
"registrationNumber": 123,
"isOld": true
},
{
"firstName": "andrew",
"middleName": null,
"lastName": "mac",
"registrationNumber": 132,
"isOld": true
}
];
let arr=users.map(user =>{
Object.keys(user).forEach((prop) =>{
if (typeof user[prop] == "number")
user[prop] = String(user[prop])
});
return user;
});
console.log(arr);
.as-console-wrapper { max-height: 100% !important; top: 0; }
推荐阅读
- android - 生成签名 Apk 时 Android 构建失败
- python - 在用户不断输入之前如何运行程序?
- android - Android - “通知”键的 FCM 问题
- javascript - div内的位置菜单图标
- android - android模拟器WHPX:无法模拟MMIO访问,退出代码3
- variables - 如何从变量中正确获取 gulp.src glob?
- javascript - 英雄滑块图像未显示全宽
- python - 添加一个值并使用 Notepad++ 求和
- sql - 我需要能够为 250 万条记录生成非重复的 8 字符随机字母数字
- javascript - 为什么我的 v-for 不能正常工作,显示一个数字而不是应有的几个