JavaScript 如何对 JSON 数据进行冒泡排序?
【摘要】 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)