JavaScript 如何对 JSON 数据进行冒泡排序?

举报
海拥 发表于 2023/05/12 00:55:13 2023/05/12
【摘要】 JSON 数据其实就是一个 JavaScript 对象或数组,因此我们可以使用 JavaScript 的排序函数对其进行排序,这里给出一个冒泡排序的实现方法:假设我们要对 JSON 数组按照某个属性进行升序排序,可以使用以下代码:function bubbleSort(arr, prop) { var len = arr.length; for (var i = 0; i < len -...

JSON 数据其实就是一个 JavaScript 对象或数组,因此我们可以使用 JavaScript 的排序函数对其进行排序,这里给出一个冒泡排序的实现方法:

假设我们要对 JSON 数组按照某个属性进行升序排序,可以使用以下代码:

function bubbleSort(arr, prop) {
  var len = arr.length;
  for (var i = 0; i < len - 1; i++) {
    for (var j = 0; j < len - i - 1; j++) {
      if (arr[j][prop] > arr[j + 1][prop]) {
        var temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
      }
    }
  }
  return arr;
}

该函数接受两个参数:一个是待排序的 JSON 数组,另一个是指定按照哪个属性排序的属性名。函数中使用了双重循环,外层循环控制排序的轮数,内层循环控制每轮比较和交换的次数。在每一次比较中,根据指定的属性名对两个元素进行比较,如果前一个元素的属性值大于后一个元素的属性值,就进行交换。

使用该函数对 JSON 数组进行升序排序的示例代码如下:

var jsonData = [
  { "name": "小明", "age": 20 },
  { "name": "小红", "age": 25 },
  { "name": "小海", "age": 18 }
];

jsonData = bubbleSort(jsonData, "age");

console.log(jsonData); // 输出按照年龄升序排序后的 JSON 数组

输出结果为:

[  { "name": "小海", "age": 18 },  { "name": "小明", "age": 20 },  { "name": "小红", "age": 25 }]

以上就是一种简单的对 JSON 数据进行冒泡排序的方法。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。