-3

我有两个 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

我想我需要将两个变量都 push() 到一个数组中,但我在 jQuery 的这个领域苦苦挣扎。希望有人可以对此有所了解。非常感谢。

4

4 回答 4

3

我在 jQuery 的这个领域苦苦挣扎

这仅仅是因为jQuery 库没有用于此类工作的工具。

改用原生 JavaScript 功能,特别是Stringsplit方法数组join方法字符串连接运算符+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(",");
于 2013-08-13T16:40:50.553 回答
1

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

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

于 2013-08-13T16:43:57.010 回答
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(',')
}

演示:小提琴

于 2013-08-13T16:40:17.000 回答
0

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

在此处查看此答案以帮助您:

如何在Javascript中合并两个数组并删除重复项

于 2013-08-13T16:40:39.300 回答