You need to enable JavaScript to run this app. JavaScript对象数组结构转换:提取各键最大有效数值重组目标结构
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript对象数组结构转换:提取各键最大有效数值重组目标结构

数组结构转换实现方案

核心实现逻辑

按照给定的转换要求,整个流程拆分为无冗余的执行步骤:

  • 逐行遍历原数组的每一个对象,对所有出现过的国家名称键做全局统计
  • 对每个键的原始文本值做有效性过滤:可正常转换为数字的值纳入统计范围,非数值的文本(比如示例中的"text")直接丢弃,不参与后续计算
  • 针对每个统计过的键,从其所有有效数值中提取最大值
  • 将键名、对应最大值按照要求的{name, value}结构组装成最终的目标数组

具体JavaScript实现代码

const sourceList = [
  { Germany: "text", Brazil: "50.00" },
  { Germany: "1000.00", Brazil: "1100.00" },
  { Germany: "999999999", Brazil: "9999999", France: "12" }
];

// 缓存每个键的历史最大值
const keyMaxRecord = {};

sourceList.forEach(row => {
  Object.entries(row).forEach(([key, rawStr]) => {
    // 转换数值并过滤无效文本
    const validNum = Number(rawStr);
    if (Number.isNaN(validNum)) return;
    // 更新当前键的最大值
    keyMaxRecord[key] = Math.max(keyMaxRecord[key] ?? -Infinity, validNum);
  });
});

// 组装目标结构
const targetResult = Object.entries(keyMaxRecord).map(([name, value]) => ({
  name,
  value
}));

代码执行结果说明:严格按照规则计算时,Germany的有效最大值为999999999,Brazil的有效最大值为9999999,France的有效最大值为12;若示例中目标结构里Brazil的数值为笔误,可根据实际数据调整校验逻辑。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.05 01:45:06