有一项任务是通过气泡排序进行数组排序.我只是不明白,实现这样一个数组的排序到底有多必要,在这个数组中有哪些对象.有人能帮我吗.我需要按数据排序.年

const [table, setTable] = useState([
  {
    text: "Пошел в свой первый класс",
    id: 0,
    data: {
      year: 2012,
      day: 25,
      month: 1,
    },
  },
  {
    text: "Поехал на чемпионат по бейсболу",
    id: 1,
    data: {
      year: 2018,
      day: 14,
      month: 3,
    },
  },
  {
    text: "Поступил в институт",
    id: 2,
    data: {
      year: 2007,
      day: 12,
      month: 4,
    },
  },
]);

推荐答案

这将返回排序后的数组

function bblSort(arr) {
  for (var i = 0; i < arr.length; i++) {
    for (var j = 0; j < arr.length - i - 1; j++) {
      if (arr[j].data.year > arr[j + 1].data.year) {
        var temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
      }
    }
  }
  return(arr);
}


var arr = [
  {
    text: "Пошел в свой первый класс",
    id: 0,
    data: {
      year: 2012,
      day: 25,
      month: 1,
    },
  },
  {
    text: "Поехал на чемпионат по бейсболу",
    id: 1,
    data: {
      year: 2018,
      day: 14,
      month: 3,
    },
  },
  {
    text: "Поступил в институт",
    id: 2,
    data: {
      year: 2007,
      day: 12,
      month: 4,
    },
  },
];

Javascript相关问答推荐

使用JavaScript在ionic Web应用程序中更新.pane和.view的背景 colored颜色

字节数组通过echo框架传输到JS blob

Chart.js V4切换图表中的每个条,同时每个条下有不同的标签.怎么做?

Javascript,部分重排序数组

如何从JSON数组添加Google Maps标记—或者如何为数组添加参数到标记构造器

在这种情况下,如何 for each 元素添加id?

在grafana情节,避免冲突的情节和传说

未捕获错误:[]:getActivePinia()被调用,但没有活动Pinia.🍍""在调用app.use(pinia)之前,您是否try 使用store ?""

Javascript json定制

为什么我的导航条打开状态没有在窗口addeventlistener(Reaction Js)中更新?

我可以使用使用node.js创建的本地主机来存储我网站上提交的所有数据吗?没有SQL或任何数据库.只有HTML语言

提交链接到AJAX数据结果的表单

如何使用JavaScript拆分带空格的单词

Angular 形式,从DOM中删除不会删除指定索引处的内容,但会删除最后一项

将Node.js包发布到GitHub包-错误ENEEDAUTH

ngOnChanges仅在第二次调用时才触发

MUI迷你图:如何将$符号添加到MUI迷你图中的工具提示数据

TypeORM QueryBuilder限制联接到一条记录

对不同目录中的Angular material 表列进行排序

通过ng-绑定-html使用插入的HTML中的函数