You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何单独提取JavaScript函数返回数组中的键名和数值

获取getMax返回结果单独项的实现方法

你不需要修改现有getMax函数的任何逻辑(不会影响其他依赖该函数的功能),因为该函数固定返回长度为2的数组:

  • 数组索引0位:最大值对应的对象键(也就是你要的c/a)
  • 数组索引1位:对应的最大数值(也就是你要的3/4)

原有代码参考

const getMax = (data) => Object.entries(data).reduce((max, item) => max[1] > item[1] ? max : item);

var myData1 = { a: 1, b:2, c: 3};
var myData2 = { a: 4, b:2, c: 3};

console.log(getMax(myData1));
console.log(getMax(myData2));

原有代码运行输出:

[ 'c', 3 ]
[ 'a', 4 ]

实现方式

1. 数组下标直接取值

调用函数拿到返回结果后,直接通过数组下标访问对应位置的值即可:

// 处理myData1
const res1 = getMax(myData1);
console.log(res1[0]); // 打印 c
console.log(res1[1]); // 打印 3

// 处理myData2
const res2 = getMax(myData2);
console.log(res2[0]); // 打印 a
console.log(res2[1]); // 打印 4

2. ES6解构赋值取值

也可以用解构语法直接把返回结果拆成单独变量,写法更简洁:

// 处理myData1
const [key1, val1] = getMax(myData1);
console.log(key1); // 打印 c
console.log(val1); // 打印 3

// 处理myData2
const [key2, val2] = getMax(myData2);
console.log(key2); // 打印 a
console.log(val2); // 打印 4

两种写法都完全不改动原getMax函数,原有依赖该函数的功能可以正常运行。

内容的提问来源于stack exchange,提问作者masch1na

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 01:01:10