Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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 - Fatal编程技术网

Javascript 返回url部分

Javascript 返回url部分,javascript,Javascript,如何返回u_c_页面中内容部分与模式匹配的第一位的url部分(不区分大小写)?如果找不到页面,则应返回空字符串 e、 g.用下面的例子 var pg = [ "|www.cam.ac.uk|Cambridge University offers degree programmes and world class research." , "!www.xyz.ac.uk!An great University" , "%www%Yet another University" ] var pt =

如何返回u_c_页面中内容部分与模式匹配的第一位的url部分(不区分大小写)?如果找不到页面,则应返回空字符串

e、 g.用下面的例子

var pg = [ "|www.cam.ac.uk|Cambridge University offers degree programmes and world class research." , "!www.xyz.ac.uk!An great University" , "%www%Yet another University" ]
var pt = "alt";

url1(pages,"ALT") returns "www.xyz.ac.uk" 
url1(pages,"xyz") returns ""
这就是我到目前为止所做的。目前,它只过滤掉分隔符“|”,但我希望它检查任何符号(不使用正则表达式)

函数url1\u m1(u\u c\u页面,模式){
//我们创建一个数组来存储所有带有分隔符“|”的数组
//这是针对缺少分隔符“|”的无效数组的情况而做的
//如果我们在数组中找到分隔符“|”,我们还需要知道“|”在数组元素中的位置
var分隔符=[];
var SeparatorPos=[];
如果(模式){
//在u|c|u页面中循环查找分隔符“|”
//找到的变量用true值初始化
//如果在数组元素中找不到分隔符“|”,则将找到的变量设置为false
对于(var i=0;i=0){
found2=(u_c_pages[j]。子字符串(0,separatorpos[j]);
打破
}
}
返回(2)
}
}
否则{
返回(“”);
}
}
警报(url1_m1(pg,pt));

有一种非常简单的方法可以实现:

function returnData(arr, splitPattern) {

  var result = []
  for (x in arr) {
    current = arr[x].split(splitPattern);
    var url = current[1]; // www.cam.ac.uk
    var alt = current[2]; // Cambridge University offers degree programmes and world class research.
    result.push({
        url: url,
        alt: alt
    })
  }
  return result
}

var arr = ["|www.cam.ac.uk|Cambridge University offers degree programmes and world class research.",
"|www.xyz.ac.uk|An great University"];

returnData(arr, "|")[0].url // www.cam.ac.uk

returnData(arr, "|")[0].alt // Cambridge University offers degree programmes and world class research.

returnData(arr, "|")[1].url // www.xyz.ac.uk!An great University

returnData(arr, "|")[1].alt // An great University

var anotherArr = ["!%www.cam.ac.uk!%Cambridge University offers degree programmes and world class research.",
"!%www.xyz.ac.uk!%An great University"];

returnData(anotherArr, "!%")[0].url // www.cam.ac.uk

returnData(anotherArr, "!%")[0].alt // Cambridge University offers degree programmes and world class research.

returnData(anotherArr, "!%")[1].url // www.xyz.ac.uk!An great University

returnData(anotherArr, "!%")[1].alt // An great University

为什么要避免正则表达式?对于正则表达式,它可以变成一行:只拆分“|”-使用其他符号如何?我已经编辑了我的答案,但现在我发现我遗漏了您需要的内容,请给我几分钟时间重写它谢谢迈克-函数看起来不错,但它可以采用
函数url1\u m1的形式吗(u_c_页面,图案)
function returnData(arr, splitPattern) {

  var result = []
  for (x in arr) {
    current = arr[x].split(splitPattern);
    var url = current[1]; // www.cam.ac.uk
    var alt = current[2]; // Cambridge University offers degree programmes and world class research.
    result.push({
        url: url,
        alt: alt
    })
  }
  return result
}

var arr = ["|www.cam.ac.uk|Cambridge University offers degree programmes and world class research.",
"|www.xyz.ac.uk|An great University"];

returnData(arr, "|")[0].url // www.cam.ac.uk

returnData(arr, "|")[0].alt // Cambridge University offers degree programmes and world class research.

returnData(arr, "|")[1].url // www.xyz.ac.uk!An great University

returnData(arr, "|")[1].alt // An great University

var anotherArr = ["!%www.cam.ac.uk!%Cambridge University offers degree programmes and world class research.",
"!%www.xyz.ac.uk!%An great University"];

returnData(anotherArr, "!%")[0].url // www.cam.ac.uk

returnData(anotherArr, "!%")[0].alt // Cambridge University offers degree programmes and world class research.

returnData(anotherArr, "!%")[1].url // www.xyz.ac.uk!An great University

returnData(anotherArr, "!%")[1].alt // An great University