在javascript中没有键的情况下,如何对forEach结果进行分组?

在javascript中没有键的情况下,如何对forEach结果进行分组?,javascript,jquery,html,css,wordpress,Javascript,Jquery,Html,Css,Wordpress,我在WordPress中有一个url列表,需要通过循环高效地排序 var urlList = [ { "URL": "https://example.com/cat1/aa/bb/cc", "Last crawled": "Jun 23, 2019" }, { "URL": "https://example.com/cat2/aa", "Last crawled": "Jun 23, 2019" }, { "URL": "https:/

我在WordPress中有一个url列表,需要通过循环高效地排序

var urlList = [
  {
    "URL": "https://example.com/cat1/aa/bb/cc",
    "Last crawled": "Jun 23, 2019"
  },
  {
    "URL": "https://example.com/cat2/aa",
    "Last crawled": "Jun 23, 2019"
  },
  {
    "URL": "https://example.com/cat1/aa/bb/cc/dd/ee",
    "Last crawled": "Jun 23, 2019"
  },
  {
    "URL": "https://example.com/cat3/aa/bb/cc/",
    "Last crawled": "Jun 23, 2019"
  },
  {
    "URL": "https://example.com/cat2/aa/bb",
    "Last crawled": "Jun 23, 2019"
  },
  {
    "URL": "https://example.com/cat1/aa/bb",
    "Last crawled": "Jun 23, 2019"
  }
]

urlList.forEach(function(item) {
    var myUrl = item.URL.split("/");
    console.log("https://example.com/" + myUrl[3]);
});
我尝试用forEach输出json对象,然后分割url,这样我可以得到url的第二部分,即cat1、cat2、cat3。每个url没有确定的长度

您知道我如何实现以下输出吗?我的目标是在forEach循环中实现它

注:类别不限于cat1、cat2、cat3。也可能是或者


非常感谢您的帮助。谢谢。

您可以获取第一条路径的链接并对数组进行排序

var urlist=[{URL:https://example.com/cat1/aa/bb/cc,上次爬网日期:2019年6月23日},{URL:https://example.com/cat2/aa,上次爬网日期:2019年6月23日},{URL:https://example.com/cat1/aa/bb/cc/dd/ee,上次爬网日期:2019年6月23日},{URL:https://example.com/cat3/aa/bb/cc/,上次爬网日期:2019年6月23日},{URL:https://example.com/cat2/aa/bb,上次爬网日期:2019年6月23日},{URL:https://example.com/cat1/aa/bb,上次爬网日期:2019年6月23日}], 结果=URL列表 .map{URL}=>URL.match/^https:\/\/example.com\/[^\/]+?=\/[0] .sorta,b=>a.localeCompareb;
console.logresult;一个使用underline.js的示例,您可以使用我拆分的下划线链接调用,以便于理解:

var s = _.map(urlList, function(i) {
  return i.URL.split("/")[3];
});
var sorted = _.sortBy(s)
var projection = _.map(sorted, function(p) {
  console.log("https://example.com/" + p);
});
JSFIDLE中的示例:


那么,为什么不只是.sort?您不需要严格地将比较器传递给.sort-默认值应该以相同的方式对其进行排序。不过,这是一个不错的主意,以防需要自定义。您好。谢谢。有没有其他方法可以做到这一点而不将其限制在cat类别?您是否有固定的前缀,并且希望前缀后的第一条路径为onyl?https://example.com 这是我能看到的唯一固定的部分。谢谢你。我工作得很好。谢谢你。如果可能的话,我尽量不使用图书馆
var s = _.map(urlList, function(i) {
  return i.URL.split("/")[3];
});
var sorted = _.sortBy(s)
var projection = _.map(sorted, function(p) {
  console.log("https://example.com/" + p);
});