我有两个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问题。希望有人可以对此有所了解。非常感谢。
答案 0 :(得分:3)
我正在努力应对jQuery的这个领域
这只是因为jQuery library没有这种工作的工具。
使用原生JavaScript功能,特别是String split
method,Array join
method,string 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