在三元中使用 typeof
Using typeof in ternary
我正在循环(因此是 i)通过 json object(jobj)
并检查值,必要时更改它们。
(jobj["Level_Objects"][i]["x"] <0 || jobj["Level_Objects"][i]["x"]>0) ? true : jobj["Level_Objects"][i]["x"]=0;
这按预期工作,允许 neg 和 pos 数字,如果两者都不是,则将其设置为 0。
我的问题是我也想使用 typeof
进行检查,none 语法 iv 已尝试工作。
(typeof jobj["Level_Objects"][i]["x"]==="number" || jobj["Level_Objects"][i]["x"] <0 || jobj["Level_Objects"][i]["x"]>0) ? true : jobj["Level_Objects"][i]["x"]=0;
尝试以下操作,如果值不是数字,它将分配零。
const value = jobj['Level_Objects'][i]['x']
if (typeof value !== 'number') {
jobj['Level_Objects'][i]['x'] = 0
}
// or without the if
jobj['Level_Objects'][i]['x'] = typeof value === 'number' ? value : 0
我正在循环(因此是 i)通过 json object(jobj)
并检查值,必要时更改它们。
(jobj["Level_Objects"][i]["x"] <0 || jobj["Level_Objects"][i]["x"]>0) ? true : jobj["Level_Objects"][i]["x"]=0;
这按预期工作,允许 neg 和 pos 数字,如果两者都不是,则将其设置为 0。
我的问题是我也想使用 typeof
进行检查,none 语法 iv 已尝试工作。
(typeof jobj["Level_Objects"][i]["x"]==="number" || jobj["Level_Objects"][i]["x"] <0 || jobj["Level_Objects"][i]["x"]>0) ? true : jobj["Level_Objects"][i]["x"]=0;
尝试以下操作,如果值不是数字,它将分配零。
const value = jobj['Level_Objects'][i]['x']
if (typeof value !== 'number') {
jobj['Level_Objects'][i]['x'] = 0
}
// or without the if
jobj['Level_Objects'][i]['x'] = typeof value === 'number' ? value : 0