return 数组中具有最多 props 的对象
return object in an array with the most props
假设我有一个这样的对象数组:
const arr = [
{ a: 1, b: 2, c: 3, d: 4 },
{ a: 1 },
{ a: 1, b: 2, c: 3 },
{ a: 1, b: 2 }
];
怎样才能return得到最多properties/keys的对象?最好使用高阶函数以高效简洁的方式使用。
您可以分配给单个对象。
const
array = [{ a: 1, b: 2, c: 3, d: 4 }, { a: 1 }, { a: 1, b: 2, c: 3 }, { a: 1, b: 2 }],
object = Object.assign({}, ...array);
console.log(object);
如果你有不同的值,你可以减少数组。
const
array = [{ a: 1, b: 2, c: 3, d: 4 }, { a: 1 }, { a: 1, b: 2, c: 3 }, { a: 1, b: 2 }],
object = array.reduce((a, b) => Object.keys(a).length > Object.keys(b).length
? a
: b
);
console.log(object);
您可以通过调用 Object.keys(obj)
然后检查它的 length
属性 从对象中获取键的数量。
这样,您可以通过检查每一对对象和 return 具有最多键的对象作为一个衬垫来减少数组:
const biggestObject =
arr.reduce((a, b) => Object.keys(a).length > Object.keys(b).length ? a : b);
假设我有一个这样的对象数组:
const arr = [
{ a: 1, b: 2, c: 3, d: 4 },
{ a: 1 },
{ a: 1, b: 2, c: 3 },
{ a: 1, b: 2 }
];
怎样才能return得到最多properties/keys的对象?最好使用高阶函数以高效简洁的方式使用。
您可以分配给单个对象。
const
array = [{ a: 1, b: 2, c: 3, d: 4 }, { a: 1 }, { a: 1, b: 2, c: 3 }, { a: 1, b: 2 }],
object = Object.assign({}, ...array);
console.log(object);
如果你有不同的值,你可以减少数组。
const
array = [{ a: 1, b: 2, c: 3, d: 4 }, { a: 1 }, { a: 1, b: 2, c: 3 }, { a: 1, b: 2 }],
object = array.reduce((a, b) => Object.keys(a).length > Object.keys(b).length
? a
: b
);
console.log(object);
您可以通过调用 Object.keys(obj)
然后检查它的 length
属性 从对象中获取键的数量。
这样,您可以通过检查每一对对象和 return 具有最多键的对象作为一个衬垫来减少数组:
const biggestObject =
arr.reduce((a, b) => Object.keys(a).length > Object.keys(b).length ? a : b);