Javascript - 如何使用 AND (&&) 运算符获取 if 条件中的键值

Javascript - how to get the key value in if condition using AND (&&) operator

提问人:Gem 提问时间:6/21/2021 最后编辑:Gem 更新时间:6/21/2021 访问量:442

问:

是否有可能获得这样的数据

我的多个 And Or 条件的示例代码

var dataset =  { "dataone": "dataonevalue", "datatwo": "datatwovalue", "datathree:"" }
switch (dataset.dataone && dataset.datatwo && dataset.datathree) {
      case "":
      case null:
      case undefined:
        console.log("data missing")
        break;
      default:
        dataset.dataone = "dataonevalue"
        dataset.datatwo = "datatwovalue"
        dataset.datathree = "datathreevalue"
    }

我必须显示哪个键具有“”或null或undefined,并且我必须获取在Json对象中找到这三个键中的任何一个的特定键

例如,像这样

console.log("data missing in datathree")

如何做到这一点?...谁能帮我解决这个问题?

JavaScript TypeScript 和运算符

评论

3赞 Jaromanda X 6/21/2021
1:你的...是无效的语法...2:等未定义...let dataset = {dataonedatatwo
1赞 deceze 6/21/2021
为什么它必须是一个?某种形式的循环会更自然地适合这个问题。switch
0赞 Gem 6/21/2021
感谢您的宝贵回复,有什么办法可以解决这个问题吗?@deceze
1赞 deceze 6/21/2021
Object.entries(dataset).forEach(([k, v]) => { if (!v) console.log(`${k} data missing`); })...?

答:

1赞 Blaze_droid 6/21/2021 #1

我必须显示哪个键具有“”或null或undefined,并且我必须获取在Json对象中找到这三个键中的任何一个的特定键

试试这个:

let dataset = {
  "dataone": "dataonevalue",
  "datatwo": "",
  "datathree": null
};


for (const item in dataset) {
  let value = dataset[item];
  if (value === "") {
    console.log(`"${item}" is empty`);
  } else if (value === null) {
    console.log(`"${item}" is null`);
  } else if (value === undefined) {
    console.log(`"${item}" is undefined`);
  }
}

希望这对你有所帮助!