javascript - 如何在 REACT 中将 json 对象请求字符串值更新为 NUMBER
问题描述
我有一个 json 对象数组,我想将值从 String 更新为 Number
示例 JSON 对象
[
{
"atest":{
"value":"0",
"units":"sqft"
},
"etest":{
"value":"70",
"units":"inches"
},
"waveTest":"8",
"db_test":{
"value":"3.7",
"units":"feet"
},
"erp_test":{
"value":"0.97",
"units":"feet"
},
"erfp_test":"5"
},
{
"atest":{
"value":"6",
"units":"sqft"
},
"etest":{
"value":"20",
"units":"inches"
},
"waveTest":"2",
"db_test":{
"value":"8.6",
"units":"feet"
},
"erp_test":{
"value":"2.57",
"units":"feet"
},
"erfp_test":"10"
}
]
我想将所有“值”:“0”更新为“值”:0 请让我知道我需要哪些步骤来改变 json 对象以便能够将“值”之后的每个数据更新为 NUMBER
我看到了一个类似的帖子(参考),但他的数据模式与我的不同。
解决方案
这是解决方案。我在代码中添加了注释以供理解。
// original array
const arr = [
{
"atest":{
"value":"0",
"units":"sqft"
},
"etest":{
"value":"70",
"units":"inches"
},
"waveTest":"8",
"db_test":{
"value":"3.7",
"units":"feet"
},
"erp_test":{
"value":"0.97",
"units":"feet"
},
"erfp_test":"5"
},
{
"atest":{
"value":"6",
"units":"sqft"
},
"etest":{
"value":"20",
"units":"inches"
},
"waveTest":"2",
"db_test":{
"value":"8.6",
"units":"feet"
},
"erp_test":{
"value":"2.57",
"units":"feet"
},
"erfp_test":"10"
}
]
const newArr = arr.map(element => {
// Object.keys get keys from object by array so you can loop by keys
Object.keys(element).forEach(key => {
// check value is exist and parse value string to int
if (element[key].value) element[key].value = parseFloat(element[key].value)
})
// return parsed object to array
return element
})
console.log(newArr)
推荐阅读
- javascript - 如何制作不重复字符串的随机字符串生成器
- kubernetes - 如何在基于 Kubernetes 的 Eclipse Microprofile 中配置 livenessProbe
- sql - SQL 连接表首先使用匹配然后是不匹配的值
- javascript - 禁止有 id 的用户
- swift - 从 Firestore Swift 中删除数组中的特定值
- javascript - 在 Bootstrap 框架中未打开可折叠菜单
- kdb - 为什么不能在 kdb 中展开键控表?
- swift - 如何将 Y 分配给 X?
- angular - 重置角度材质拖放中的变换偏移
- c - 在C中将二维数组转换为一维