【问题标题】:How to check and return true if json object key is having all same values in javascript?如果json对象键在javascript中具有所有相同的值,如何检查并返回true?
【发布时间】:2021-08-03 01:15:57
【问题描述】:

我有以下示例 JSON 对象:

var data = [ {
  "id" : 1,
  "name" : "Abc",
  "age" : 30,
  "married" : true,
  "city": "ABC"
}, {
  "id" : 2,
  "name" : "Def",
  "age" : 25,
  "married" : true,
  "city": "ABC"
}, {
  "id" : 3,
  "name" : "Pqr",
  "age" : 28,
  "married" : false,
  "city": "ABC"
}, {
  "id" : 4,
  "name" : "Xyz",
  "age" : 40,
  "married" : true,
  "city": "ABC"
} ];

如果所有city 键值仅是ABC,我想返回true 并将其存储在一个变量中,否则它应该返回false(即,如果city 键值之一不是@ 987654328@) 来自给定的JSON 对象。谁能告诉我如何实现这一目标。提前致谢。

【问题讨论】:

标签: javascript html json object key


【解决方案1】:

使用Array#every:

const data = [ { "id" : 1, "name" : "Abc", "age" : 30, "married" : true, "city": "ABC" }, { "id" : 2, "name" : "Def", "age" : 25, "married" : true, "city": "ABC" }, { "id" : 3, "name" : "Pqr", "age" : 28, "married" : false, "city": "ABC" }, { "id" : 4, "name" : "Xyz", "age" : 40, "married" : true, "city": "ABC" } ];

const valid = data.every(({ city }) => city === 'ABC');

console.log(valid);

【讨论】:

    【解决方案2】:

    实现这一目标的三种可能方式:

    let data = [{id:1,name:"Abc",age:30,married:!0,city:"ABC"},{id:2,name:"Def",age:25,married:!0,city:"ABC"},{id:3,name:"Pqr",age:28,married:!1,city:"ABC"},{id:4,name:"Xyz",age:40,married:!0,city:"ABC"}];
    
    console.log(data.every(({ city }) => city === "ABC"));
    console.log(!data.some(({ city }) => city !== "ABC"));
    console.log(!data.filter(({ city }) => city !== "ABC").length);

    【讨论】:

    • @Guna 请检查这是否解决了您的问题,如果您有任何问题,请告诉我。
    • 非常感谢您的三种解决方法,都解决了我的问题,非常感谢您的帮助!
    【解决方案3】:

    简单地说:

    data.filter(x => x.city === 'ABC')
    

    请在打开主题之前对问题进行更详细的搜索。

    【讨论】:

    • 感谢您的回复,但它只会过滤 ABC 值,不会检查每个键。谢谢。
    【解决方案4】:
    data.some((el) => el.city !== "ABC")
    

    【讨论】:

      猜你喜欢
      • 2021-10-02
      • 2016-08-21
      • 1970-01-01
      • 2022-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      相关资源
      最近更新 更多