我正在创建一个带有动态键的对象,如下所示:
const myObject = [
{PINO: 1764},
{FANH: 2737},
{WQTR: 1268},
{CICO: 1228}
];
我想获取具有最低值的键和值,在本例中为{CICO: 1228}
。
我如何创建这个对象是这样的:
let basic = [];
_.map(values, value => {
let result = value[Object.keys(value)].reduce((c, v) => {
// sum up the amounts per key
c[Object.keys(value)] = (c[Object.keys(value)] || 0) + parseInt(v.amount);
return c;
}, {});
basic.push(result);
})
console.log(basic) => [{PINO: 1764}, {FANH: 2737}, {WQTR: 1268}, {CICO: 1228}]
如何从 basic
对象中获取其键的最小数字?我尝试使用排序并采用最低的数字,但键是动态创建的,所以我认为我没有任何可以排序的东西。
最佳答案
这是一种非常不方便的数据存储方式,因为键或多或少是无用的,并且您需要查看每个对象的值才能执行任何操作。但如果您需要的话,您可以这样做:
const myObject = [
{PINO: 1764},
{FANH: 2737},
{WQTR: 1268},
{CICO: 1228}
];
let least = myObject.reduce((least, current) => Object.values(least)[0] < Object.values(current)[0] ? least : current)
console.log(least)
如果它是一个很大的列表,您可能会受益于将数组转换为不同的格式,这样您就不需要继续创建 Object.values
数组。
关于javascript - 从具有动态键的对象列表中获取最小的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53876679/