我正在尝试将一些JSON值从字符串更新为数字。我从MDN上读到了“replacer”函数,并试图使其工作。但是,对实际的JSON输出没有影响。不知道这里出了什么问题。任何帮助/建议都非常感谢。我试过了
const NUMBER_FIELDS = [
'count',
'age',
'hours',
];
const payload = {
"name": "John Doe",
"age": "35",
"country": "Canada",
"count": 4,
"hours": "100"
}
function replacer(key, value) {
NUMBER_FIELDS.forEach((field) => {
if (key && key === field && typeof value === 'string') {
return parseInt(value, 10);
}
return field;
});
return value;
}
const postBody = JSON.stringify(payload, replacer);
1条答案
按热度按时间bnl4lu3b1#
你的想法是正确的,但问题是你不会从forEach回来。
只需检查键是否存在于数组中,以及它是否以数字的形式返回。