如果 json 对象键在 javascript 中具有所有相同的值,如何检查 return 为真?

How to check and return true if json object key is having all same values in javascript?

我有以下示例 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"
} ];

我想 return true 如果所有 city 键值都是 ABC,我想将它存储在一个变量中,否则它应该 return false(即如果 city 键值之一不是 ABC)来自给定的 JSON 对象。任何人都可以让我知道如何实现这一目标。提前致谢。

使用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);

简单地:

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

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

data.some((el) => el.city !== "ABC")

实现此目的的三种可能方法:

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);