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

如何基于关键字对象的mains与secondaries数组长度和排序生成对象数组

实现方案

直接通过对象转键值对、结构映射、自定义排序三步即可实现需求,完整代码如下:

const a = {
  word1: { mains: [ 5 ], secondaries: [1, 22, 50] },
  word2: { mains: [ 5, 66 ], secondaries: [1] },
  word3: { mains: [ 5 ], secondaries: [1] },
};

const result = Object.entries(a)
  // 将键值对转换为要求的对象结构
  .map(([keyword, { mains, secondaries }]) => ({ keyword, mains, secondaries }))
  // 按两个数组长度之和升序排序
  .sort((prev, curr) => {
    const prevSum = prev.mains.length + prev.secondaries.length;
    const currSum = curr.mains.length + curr.secondaries.length;
    return prevSum - currSum;
  });

// 输出验证
console.log(result);

执行上述代码后输出的result和你期望的结果完全一致。如果需要处理长度相同的特殊场景,可以在prevSum === currSum时补充额外的排序逻辑(比如按关键字字典序排序)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 21:15:07