【发布时间】:2019-10-21 06:56:48
【问题描述】:
我有一个需要循环的对象数组,并检查对象的键是否具有不同的值。如果是,则返回此密钥。
const arrayOfObjects = [
{ item: { first_name: "Joe", last_name: "Dow", age: 15 } },
{ item: { first_name: "Joe", last_name: "d", age: 15 } },
{ item: { first_name: "Joe", last_name: "Dow", age: 20 } }
];
预期的结果应该是
const result = {
last_name: true,
age: true
}
PS:每个对象总是有相同数量的键
【问题讨论】:
-
“有不同的价值”比什么?
-
对不起,我的解释能力很差,在第二个对象中last_name已经改变,所以需要标记并返回如果key改变了它需要返回,不管多少次跨度>
-
获取数组第一项的值,做一个 foreach 和一个 if 来与所有其他项的值进行比较,如果其中一个不匹配,则将结果设置为 true/false 并打破foreach.
-
所以您正在寻找数组中“last_name”属性与数组中第一个条目的值不同的任何条目?
-
那么,您只想查看每个对象中
item属性下的键值吗?换句话说,如果数组中有像{ item: { first_name: "Joe", last_name: "Dow", age: 15 }, foo: "bar" }这样的元素会发生什么?
标签: javascript arrays object filter key