javascript - 从对象数组中获取具有更多属性的对象

标签 javascript arrays json object properties

假设我的 JSON 文件中有以下数组:

[
    { id: 1 },
    { name: 'foo' },
    { id: 3, name: 'foo', nick: 'bar' },
    { id: 4, nick: 'next' },
    { nick: 'nextnext' }
]

如何获取具有更多属性的对象?在此示例中,我应该获得第三项: { id: 3, name: 'foo', nick: 'bar' }

如果有另一个对象具有3个属性,我可以得到两个结果或最后找到的结果,没关系,我的目的是知道一个对象可以具有的所有属性。

最佳答案

要处理多个结果,您可以使用过滤器。

var data = [
    { id: 1 },
    { name: 'foo' },
    { id: 3, name: 'foo', nick: 'bar' },
    { id: 4, nick: 'next' },
    { nick: 'nextnext' },
    { id: 6, name: 'another 3', nick: '3'}
]

const mx = Math.max(...data.map(m => Object.keys(m).length));
const res = data.filter(f => Object.keys(f).length === mx)
console.log(res);

关于javascript - 从对象数组中获取具有更多属性的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53866180/

相关文章:

php - 使用 PHP 获取所有可能的 n 个元素对且不重复

javascript - AngularJS 中的 deferred.resolve()

javascript - 准确定位悬停在 Canvas 元素上的文本字段

javascript - 如何在 React JS 中解析 Json 对象数组

java - 将模型对象数组传递给 Fragment

jquery - 将变量传递给 jQuery ajax 成功或错误函数

java - 将 JSON 映射到 java POJO (jackson)

javascript - 将包含对象的默认选项与 JSON 对象合并

Javascript:不使用 var 关键字时有两个输出

javascript - 数组中的补丁组动画出错