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

如何按字母顺序对数组内对象的键进行排序?

按字母顺序排列数组中对象的键

问题场景

原始数组:

var sample = [{
  pin_code: "110015",
  city: "New Delhi",
  address: "xyz",
}]

期望输出(对象按键的字母顺序排列):

var sample = [{
  address: "xyz",
  city: "New Delhi",
  pin_code: "110015",  
}]

解决方案

可以写一个工具函数处理单个对象的键排序,再用数组方法批量处理数组里的每个对象:

// 单个对象按键排序的函数
function sortObjKeys(obj) {
  // 提取键并按字母排序
  const sortedKeys = Object.keys(obj).sort();
  // 重新构建排序后的对象
  return sortedKeys.reduce((result, key) => {
    result[key] = obj[key];
    return result;
  }, {});
}

// 处理目标数组
var sample = [{
  pin_code: "110015",
  city: "New Delhi",
  address: "xyz",
}];

// 生成新的排序后数组
const sortedSample = sample.map(item => sortObjKeys(item));
console.log(sortedSample);

补充说明

  • Object.keys(obj).sort():默认的sort()方法会按英文字母的Unicode顺序排序,刚好满足需求。
  • 如果想直接修改原数组,不用生成新数组,可以换成forEach遍历赋值:
sample.forEach((item, idx) => {
  sample[idx] = sortObjKeys(item);
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:55:20