【问题标题】:How can I sort an array by segments in Javascript如何在Javascript中按段对数组进行排序
【发布时间】:2021-06-03 07:14:22
【问题描述】:

如何排序:

[[{path:'a/b/c'}],[{path:'a/b'}],[{path:'a/b/c/d'}],[{path:'a/b'}]]

进入这个:

[[{path:'a/b'}],[{path:'a/b'}],[{path:'a/b/c'}],[{path:'a/b/c/d'}]]

我想按段长度对其进行排序。比如a/b/c就是三段。

【问题讨论】:

  • 你试过了吗?
  • 为什么每个对象周围都有一个额外的数组?
  • el[0].split('/').length排序
  • 嗨@vue-dev 如果您发现我的答案有用,您介意将其标记为正确答案吗?

标签: javascript node.js dom-events javascript-objects


【解决方案1】:

let toSort = [[{ path: 'a/b/c' }], [{ path: 'a/b' }], [{ path: 'a/b/c/d' }], [{ path: 'a/b' }]];

toSort.sort((a, b) => {
    return a[0].path.split('/').length - b[0].path.split('/').length
});

console.log(toSort);

【讨论】:

    【解决方案2】:

    使用split 并计算输出数组的长度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-06
      • 1970-01-01
      • 1970-01-01
      • 2010-11-28
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      • 2012-10-24
      相关资源
      最近更新 更多