在三元中使用 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