fsiwan 2019-03-28 10:44 采纳率: 0%
浏览 375

前端数组重新排序之后服务端如何保存。

问题描述

前端数据结构如下

let array = [
    {name:"香蕉",order:0},
    {name:"橘子",order:1},
    {name:"苹果",order:2},
    {name:"梨",order:3},
    {name:"葡萄",order:4}
]

根据元素的order来进行展示,展示结果如下:
香蕉 橘子 苹果 梨 葡萄

现在前端将香蕉放到梨和葡萄之间(将某个元素放到其他两个元素之间),展示结果变为:
橘子 苹果 梨 香蕉 葡萄

(前端非常好处理)服务端如何保存这一步操作?

我的想法(服务端操作)

将order<=3的元素的order-1,然后将香蕉的order变为3,
抽象出来就是:元素之前的index为x,之后的index为y,如果y>x,则x<m<=y的元素order-1。
如果y<x,则y<=m<x的元素的order+1。

请教

我这种做法是不是太暴力了,数据量大的时候感觉不妥,有没有更优雅的解决办法?

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-03-28 10:49
    关注

    如果你存在大量的小块数据(每个数据内有关联、排序),而数据块之间没有联系,那么用nosql比用数据库更好。比如用mongodb

    评论

报告相同问题?

悬赏问题

  • ¥20 Python安装cvxpy库出问题
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?