gpt4 book ai didi

javascript - 从对象数组中返回具有最高键/值对的对象

转载 作者:行者123 更新时间:2023-11-30 09:39:58 25 4
gpt4 key购买 nike

给定一个对象数组,我想返回所有对象中具有最高值的对象。

let countObj = [{2:1},{2:4, 5:1},{3:3}]
let finalObj = {}
let primes = [2,3,5]
// finalObj should return {2:4, 3:3, 5:1}

我觉得应该有一些方法可以使用 primes 数组并减少 countObj 以获得所需的结果。

primes.forEach(p => countObj.reduce((a,b) =>{
if (a[p]){ //if prime no. exists as key in a
a[p] > b[p] ? //keep key/val pair in a : replace key/val pair
}else{ //if new prime is not a key in a
a[p] = b[p]
}
},{})

我不确定逻辑是否正确,也不知道如何让它返回最终对象。

最佳答案

您可以检查存储的值是否大于实际值,如果不是,则将值分配给结果集。

var countObj = [{ 2: 1 }, { 2: 4, 5: 1 }, { 3: 3 }],
finalObj = {};

countObj.forEach(o => Object.keys(o).forEach(k => finalObj[k] > o[k] || (finalObj[k] = o[k])));

console.log(finalObj); // { 2:4, 3: 3, 5: 1 }

使用素数

var countObj = [{ 2: 1 }, { 2: 4, 5: 1 }, { 3: 3 }],
finalObj = {},
primes = [2, 3, 5]

countObj.forEach(o => primes.forEach(k => k in o && (finalObj[k] > o[k] || (finalObj[k] = o[k]))));

console.log(finalObj); // { 2:4, 3: 3, 5: 1 }

关于javascript - 从对象数组中返回具有最高键/值对的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41613933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com