Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从JavaScript中的URL列表中计算单词出现次数?_Javascript_Jquery_Html_Css_Wordpress - Fatal编程技术网

如何从JavaScript中的URL列表中计算单词出现次数?

如何从JavaScript中的URL列表中计算单词出现次数?,javascript,jquery,html,css,wordpress,Javascript,Jquery,Html,Css,Wordpress,我有WordPress中JSON对象中的URL列表。我想计算url第二部分的出现次数 下面的代码当前获取前缀https://www.example.co。接下来我要做的是计算url第二部分的出现次数,即cat1、cat3、cat2、xmlrpc.php var urlList = [ { "URL": "https://www.example.co/cat1/aa/bb/cc", "Last crawled": "Jun 23, 2019" }, { "URL

我有WordPress中JSON对象中的URL列表。我想计算url第二部分的出现次数

下面的代码当前获取前缀
https://www.example.co
。接下来我要做的是计算url第二部分的出现次数,即
cat1、cat3、cat2、xmlrpc.php

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

const paths = urlList.map(value => value.URL.replace('https://www.example.co', ''));

//console.log(paths);

paths.forEach(function(item) {
    var urlSecondPart = item.split("/")[1];
    console.log(urlSecondPart);
});
您知道如何使用当前的
forEach
循环实现这一点吗


非常感谢您的帮助。谢谢

使用正则表达式匹配
/
后面的非
/
:

var urlist=[
{
“URL”:”https://www.example.co/cat1/aa/bb/cc",
“上次爬网”:“2019年6月23日”
},
{
“URL”:”https://www.example.co/cat2/aa",
“上次爬网”:“2019年6月23日”
},
{
“URL”:”https://www.example.co/cat1/aa/bb/cc/dd/ee",
“上次爬网”:“2019年6月23日”
},
{
“URL”:”https://www.example.co/cat3/aa/bb/cc/",
“上次爬网”:“2019年6月23日”
},
{
“URL”:”https://www.example.co/cat2/aa/bb",
“上次爬网”:“2019年6月23日”
},
{
“URL”:”https://www.example.co/cat1/aa/bb",
“上次爬网”:“2019年6月23日”
},
{
“URL”:”https://www.example.co/xmlrpc.php",
“上次爬网”:“2019年6月19日”
}
]
const path=urlist.map(
({URL})=>URL.match(/\.co\/([^\/]+)/)[1]
);
console.log(路径);
常量计数=路径。减少((a,str)=>{
a[str]=(a[str]| | 0)+1;
返回a;
}, {});

控制台日志(计数)这看起来不错。你有没有办法像
https://www.example.co/cat1/aa/bb cat1:3
https://www.example.co/cat1/aa/bb/cc/dd/ee cat1:3
Reduce为一个对象,该对象不仅包含第二个字符串的计数,还包含使用的完整URL数组,并在每次迭代时推送到关联的数组谢谢。我无法想象你的解决办法。我所想的就是在
forEach
循环中执行它