按嵌套对象属性对数组对象进行排序
创始人
2024-11-04 14:30:44
0

以下是一个示例代码,演示如何按嵌套对象属性对数组对象进行排序:

// 嵌套对象属性排序函数
function sortByNestedProperty(arr, property) {
  return arr.sort((a, b) => {
    let propA = getProperty(a, property);
    let propB = getProperty(b, property);
    
    if (propA < propB) {
      return -1;
    } else if (propA > propB) {
      return 1;
    } else {
      return 0;
    }
  });
}

// 递归获取嵌套对象属性值
function getProperty(obj, property) {
  let properties = property.split('.');
  let value = obj;
  
  for (let prop of properties) {
    value = value[prop];
  }
  
  return value;
}

// 示例数据
let arr = [
  { name: { first: 'John', last: 'Doe' }, age: 30 },
  { name: { first: 'Alice', last: 'Smith' }, age: 25 },
  { name: { first: 'Bob', last: 'Johnson' }, age: 35 }
];

// 按嵌套对象属性name.first对数组对象进行排序
let sortedArr = sortByNestedProperty(arr, 'name.first');
console.log(sortedArr);

在这个示例中,sortByNestedProperty函数接受一个数组和一个嵌套对象属性作为参数,并使用sort方法对数组进行排序。 getProperty函数是一个递归函数,用于获取嵌套对象中的属性值。在示例数据中,我们有一个包含多个对象的数组,每个对象都有嵌套的name对象属性,其中包含first属性。最后,我们使用sortByNestedProperty函数按name.first属性对数组对象进行排序,并打印排序后的结果。

相关内容

热门资讯

揭露透视!拱趴大菠萝挂,来玩a... 揭露透视!拱趴大菠萝挂,来玩app破解(透视)切实真的有辅助软件(哔哩哔哩)1、揭露透视!拱趴大菠萝...
受玩家影响!hh poker软... 受玩家影响!hh poker软件,江西中至小程序黑科技,其实是真的有辅助脚本(哔哩哔哩)1、用户打开...
开挂透视!佛手大菠萝有挂吗,竞... 开挂透视!佛手大菠萝有挂吗,竞技联盟透视插件(透视)好像有辅助技巧(哔哩哔哩)1、进入游戏-大厅左侧...
了解透视!德州局脚本,大菠萝免... 您好,大菠萝免费辅助这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多玩家...
目前!pokernow辅助控制... 您好,宝宝浙江游戏真的有辅助嘛这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302...
这一现象值得深思!wejoke... 这一现象值得深思!wejoker开挂,拱趴大菠萝系统规律,好像是真的有辅助软件(哔哩哔哩)1、该软件...
解迷透视!epoker免费透视... 解迷透视!epoker免费透视脚本,德州圈脚本(透视)一直是有辅助软件(哔哩哔哩)暗藏猫腻,小编详细...
近日!红龙poker辅助工具,... 近日!红龙poker辅助工具,奇迹永久免费脚本辅助工具,好像有辅助app(哔哩哔哩)1、上手简单,内...
揭露透视!拱趴大菠萝挂,来玩a... 揭露透视!拱趴大菠萝挂,来玩app破解(透视)果然一直总是有辅助方法(哔哩哔哩)在进入拱趴大菠萝挂软...
记者获悉!wepoker游戏安... 记者获悉!wepoker游戏安装教程,新玄龙辅助,一贯是真的有辅助方法(哔哩哔哩)1.新玄龙辅助 选...