代码有效可以在所有情况下将value
的类型更改为字符串。
但我想知道是否有更好/更清洁的方法来做它甚至使用lodash。
const dummyResult = [
{ id: 1, value: false },
{ id: 2, value: true },
{ id: 3, value: 'text' }
]
for (let i = 0; i < dummyResult.length; i++) {
if (typeof (dummyResult[i].value) === 'boolean') {
dummyResult[i].value = dummyResult[i].value.toString()
}
}
期望的结果:
dummyResult = [
{ id: 1, value: 'false'},
{ id: 2, value: 'true' },
{ id: 3, value: 'text' }
]
答案 0 :(得分:3)
只需使用forEach:
router.post('/add-user-to-team',
authController.populateUserById,
authController.addToTeam,
authController.respond
);
&#13;
但我认为你不必检查它是否是布尔值:
const dummyResult = [
{ id: 1, value: false },
{ id: 2, value: true },
{ id: 3, value: 'text' }
]
dummyResult.forEach(e => typeof e.value === 'boolean' && (e.value = e.value.toString()));
console.log(dummyResult);
&#13;
答案 1 :(得分:0)
如果你的意思是更短,这是一种方法
const dummyResult = [
{ id: 1, value: false },
{ id: 2, value: true },
{ id: 3, value: 'text' }
]
console.log(
dummyResult.map(a=>{return{id: a.id, value: a.value.toString()}})
)
答案 2 :(得分:0)
您只需使用forEach
循环数组并将value
属性的值转换为字符串:
const dummyResult = [
{ id: 1, value: false },
{ id: 2, value: true },
{ id: 3, value: 'text' }
]
var res = [];
dummyResult.forEach((obj) => {
obj.value = obj.value.toString();
res.push(obj);
});
console.log(res);
&#13;