javascript - Gridster 将数据序列化为 1-5 顺序(递归循环)?

标签 javascript jquery loops recursion gridster

我正在使用Gridster插件,我需要以1-5的方式捕获新拖动的订单。我知道我们先选择行,然后选择顺序(列)。因此,行:1,顺序:1 将是 id:grid_74。第 1 行中下一个大于 1 的最接近订单号是 5,因此 id:grid_78。我怎样才能做到这一点?

1 - grid_74

2 - grid_78 (等等...)

var gridinfo = gridster.serialize()

object

最佳答案

我认为你可能只需要排序。

// Just setting up object array to match example:
var gridinfo = [
  { id: "grid_75", order: 5, row: 4 },
  { id: "grid_74", order: 1, row: 1 },
  { id: "grid_91", order: 9, row: 1 },
  { id: "grid_85", order: 5, row: 7 },
  { id: "grid_78", order: 5, row: 1 }
]


// This sort is what does all the magic.. it first sorts by row, then order.
// I lifted this bit of javascript ninjutsu from: 
// http://www.sitepoint.com/sophisticated-sorting-in-javascript/
gridinfo.sort(function(a, b)
{
  if(a.row === b.row)
  {
    return a.order < b.order ? -1 : a.order > b.order ? 1 : 0;
  }

  return a.row - b.row;
});


// Display sorted array:
for(var k=0; k<gridinfo.length; k++)
{
  document.write('id: '+gridinfo[k].id+'<br>');
  document.write('row: '+gridinfo[k].row+'<br>');
  document.write('order: '+gridinfo[k].order+'<br>');
  document.write('-------<br>');
}

关于javascript - Gridster 将数据序列化为 1-5 顺序(递归循环)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29130969/

相关文章:

javascript - 将多个Javascript文件添加到Wordpress的functions.php中

javascript - Coffeescript变量串联导致 "Uncaught TypeError value is not a function"

JavaScript onKeyDown 切换饱和度

loops - Go 中的无限 'for' 循环

python - Numba parallel 在 for 循环中导致不正确的结果,我无法查明问题所在

javascript - 如何根据属性值从单个对象数组创建多个对象数组

javascript - 联系表单响应非常慢(PHP/jQuery/Ajax)

javascript - 按 ID 删除选项卡时出错(chrome 扩展)

javascript - 防止在没有浏览器滚动的情况下添加类

php - 从 foreach 循环中删除最后一个逗号