如何拆分2个数组以生成html文件中的URL

时间:2017-07-31 19:46:48

标签: javascript html

我有一个现有的html文件,其中我有2个变量,它们包含大量由空格(空格)分隔的文本数据。我想将它们作为数组读取,并且对于第二个数组的每个元素,它应该生成一个链接到一个以第一个数组的每个元素结尾的URL。

理想情况下,这应该取第一个数组的第一个元素和第二个数组的第一个元素并制定URL,以便第二个数组的第一个元素与第一个数组的第一个元素一样被包装。

例如,

array1 = "${entry.metas['identifiers']}" // 1.1 2.1 3.1 4.1 .... [n entries]
array2 = "${entry.metas['titles']}" // cat dog lion tiger .... [same as of array1]

split.array1 = [ " " ];
split.array2 = [ " " ];

for each array2 element positions,
<a href="http://myapps.servername.com/framename.jsp?&id=split.array1"> split.array2 </a>

html应显示带有空格或换行符的每个链接:

<a href="http://myapps.servername.com/framename.jsp?&id=1.1"> cat </a> &nbsp;
<a href="http://myapps.servername.com/framename.jsp?&id=2.1"> dog </a> &nbsp;
<a href="http://myapps.servername.com/framename.jsp?&id=3.1"> lion </a> &nbsp;
<a href="http://myapps.servername.com/framename.jsp?&id=4.1"> tiger </a> &nbsp;

抱歉,我没有包含正确的html标签/语法,但希望我的问题很明确。

2 个答案:

答案 0 :(得分:1)

您可以使用Array.split拆分创建数组,然后使用DocumentFragmentdocument.createElement生成链接。

var identifiers = "1.1 2.1 3.1 4.1";
var titles = "cat dog lion tiger";
var url = "http://myapps.servername.com/framename.jsp?&id=";

var identifiersArr = identifiers.split(" ");
var titlesArr = identifiers.split(" ");

var result = new DocumentFragment();
var parent = document.body;

// Loop through the identifiers array and build a link element. Then append it as a child of "parent";
for(var i = 0; i < identifiersArr.length; ++i) {
  var link = document.createElement('a');
  link.href = url + identifiersArr[i];
  link.textContent = titlesArr[i] || 'no title';
  result.appendChild(link);
}
parent.appendChild(result);

答案 1 :(得分:0)

let s1 = "1.1 1.2 1.3";
let s2 = "cat dog lion";
let a1 = s1.split(" ");
let a2 = s2.split(" ");
for (let i = 0; i < a1.length; i++) {
  let url = '<a href="http://myapps.servername.com/framename.jsp?&id=';
  url += a1[i] + '">' + a2[i] + '</a>';
  console.log(url);
}