如何将多个数组组合成一个字符串?

时间:2010-04-21 20:19:52

标签: javascript arrays

我很难描述我在寻找什么。

如果我们假装我们正在拉一个数组(我使用.split来获取用户输入数据) 其中每一行代表一个链接。

如何将锚标记添加到我正在拉动的链接?

我需要能够放

< a href=" + thearray + ">anything< /a>.

原因是我正在动态创建一个列表。

我认为如果我创建两个变量,一个用这个部分

< a href="

关闭一个 然后调用某种函数将这两个函数放在它们之间,直到列表完成为止。

这有意义吗?

编辑: 这是完整代码的链接: http://hem.bredband.net/noor/thecode.txt

4 个答案:

答案 0 :(得分:2)

我认为你的意思是:

for(var x=0;x<thearray.length;x++) {
   document.write '<a href=" + thearray[x] + ">anything</a>'
}

你只想循环遍历数组元素,将它们包装在一些HTML中。

答案 1 :(得分:1)

你的意思是你想要一个像

这样的数组
["http://www.google.com", "http://www.yahoo.com", "http://www.stackoverflow.com"]

你想把它变成

"<a href='http://www.google.com'>anything</a>
<a href='http://www.yahoo.com'>anything</a>
<a href='http://www.stackoverflow.com'>anything</a>"

如果是这样,你可以做到

var myArray = ["http://www.google.com", "http://www.yahoo.com", "http://www.stackoverflow.com"];
var result = "";
for (var i=0; i<myArray.length; i++) {
   result += "<a href='" + myArray[i] + "'>anything</a>";
}

如果没有,想一想“我想从X开始并以Y结尾”,并举出具体的例子,可能会帮助你澄清你的问题。

答案 2 :(得分:0)

也许你的意思是这样的:

var tagStart = '<a href="',
    tagEnd = '">anything</a>',
    html = tagStart + thearray.join(tagEnd + tagStart) + tagEnd;

我仍然建议使用循环,因为如果thearray为空,上面的代码将是不友好的。

答案 3 :(得分:0)

我认为使用map然后加入会更具可读性:

function makeLink(url)
{
   return "<a href=\"" + url + "\">anything</a>";
}
result = myArray.map(makeLink).join("\n");

有关地图的更多信息,请访问http://www.tutorialspoint.com/javascript/array_map.htm