js中数组对象的排序及vue项目中的使用
发布日期:2021-05-27 01:31:33 浏览次数:31 分类:精选文章

本文共 1007 字,大约阅读时间需要 3 分钟。

JavaScript数组对象排序方案

在项目中每次重启设备时,tab标题显示的顺序可能会随机变化,导致用户体验不良。为了解决这一问题,我们需要对数组对象进行排序,确保每次重启后都按照预定规则显示tab标题。

排序逻辑说明

基于以下规则进行排序:

  • DeviceID
  • GB28181
  • I8S
  • ATVTurn
  • ATVSIP
  • GB35114

具体实现方式如下:

var objs = [  { header: 'DeviceID' },  { header: 'GB28181' },  { header: 'I8S' },  { header: 'ATVTurn' },  { header: 'ATVSIP' },  { header: 'GB35114' }];objs.sort(function(a, b) {  var order = ['DeviceID', 'GB28181', 'I8S', 'ATVTurn', 'ATVSIP', 'GB35114'];  return order.indexOf(a.header) - order.indexOf(b.header);});

项目实现代码

function Sort_protocal(arr) {  let objs = arr;  const order = ['DeviceID', 'GB28181', 'I8S', 'ATVTurn', 'ATVSIP', 'GB35114'];  objs.sort((a, b) => {    return order.indexOf(a.header) - order.indexOf(b.header);  });  const result = objs.map(a => a.hash);  return result;}

排序后的结果

排序完成后,结果如下:

[  'CVConfigProtocalFseyeOrDeviceID',  'CVConfigProtocalGB28181',  'CVConfigProtocalI8S',  'CVConfigProtocalATVTurn',  'CVConfigProtocalATVSIP',  'CVConfigProtocalGB35114']

这样做的好处是:

  • 确保tab标题每次重启后显示一致
  • 提高用户体验
  • 便于后续功能扩展
  • 上一篇:一个数组中是否包含另一个数组的值
    下一篇:IE9中,去掉select下拉列表的默认样式

    发表评论

    最新留言

    第一次来,支持一个
    [***.219.124.196]2025年04月24日 06时58分29秒