需要连接两个数组的字符串

时间:2013-08-13 16:35:25

标签: javascript arrays

我有两个jQuery变量。每个变量都是一个文本字符串,其中包含用逗号分隔的单词。

var myFirstVariable = green,blue
var mySecondVariable = circle,triangle

我想让第三个变量像这样重复:

var myThirdVariable = greencircle,bluecircle,greentriangle,bluetriangle

myThirdVariable中单词的顺序并不重要。但我的前两个变量可以包含任意数量的单词,所以如果

var myFirstVariable = green,blue,yellow
var mySecondVariable = circle,triangle,square

然后我需要我的第三个变量返回如下:

var myThirdVariable = greencircle,bluecircle,yellowcircle,greentriangle,bluetriangle,yellowtriangle,greensquare,bluesquare,yellowsquare

我认为我需要将两个变量推送到一个数组中,但我正在努力解决这个jQuery问题。希望有人可以对此有所了解。非常感谢。

4 个答案:

答案 0 :(得分:3)

  

我正在努力应对jQuery的这个领域

这只是因为jQuery library没有这种工作的工具。

使用原生JavaScript功能,特别是String split methodArray join methodstring concatenation operator +for-loops

var myFirstVariable = "green,blue"
var mySecondVariable = "circle,triangle";

var firstArr = myFirstVariable.split(","),
    secondArr = mySecondVariable.split(","),
    thirdArr = [];
for (var i=0; i<firstArr.length; i++)
    for (var j=0; j<secondArr.length; j++)
        thirdArr.push(firstArr[i]+secondArr[j]);

var myThirdVariable = thirdArr.join(",");

答案 1 :(得分:1)

您可以使用普通的旧字符串拆分方法来获取2个数组。 http://www.w3schools.com/jsref/jsref_split.asp

然后,您可以使用嵌套for循环将新字符串推送到第3个数组,然后使用join方法创建最终字符串。 http://www.w3schools.com/jsref/jsref_join.asp

答案 2 :(得分:0)

尝试

var myFirstVariable = 'green,blue'
var mySecondVariable = 'circle,triangle'

var myThirdVariable = fn(myFirstVariable, mySecondVariable);
console.log(myThirdVariable)

function fn(fv, sv){
    var fa = fv.split(','), sa = sv.split(','), ta = [];
    for(var i = 0; i < fa.length; i++){
        for(var j = 0; j < sa.length; j++){
            ta.push(fa[i] + sa[j])
        }
    }
    return ta.join(',')
}

演示:Fiddle

答案 3 :(得分:0)

好的,所以你不需要jquery来实现这一点,只需要JavaScript。

在这里查看此答案可以帮助您:

How to merge two arrays in Javascript and de-duplicate items