-3

2 つの jQuery 変数があります。各変数は、コンマで区切られた単語を含むテキスト文字列です。

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

次のように 3 番目の変数を返したいと思います。

var myThirdVariable = greencircle,bluecircle,greentriangle,bluetriangle

myThirdVariable 内の単語の順序は重要ではありません。しかし、最初の 2 つの変数には任意の数の単語を含めることができるので、

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

次に、3 番目の変数を次のように返す必要があります。

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

両方の変数を配列に push() する必要があると思いますが、jQuery のこの領域に苦労しています。誰かがこれに光を当ててくれることを願っています。どうもありがとう。

4

4 に答える 4

3

jQueryのこの領域に苦労しています

これは単純に、jQuery ライブラリーにはこの種の作業のためのツールがないためです。

代わりに、ネイティブの JavaScript 機能、具体的にはStringsplitメソッドArrayjoinメソッド文字列連結演算子+、および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 ループを使用して新しい文字列を 3 番目の配列にプッシュし、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 で 2 つの配列をマージしてアイテムの重複を排除する方法

于 2013-08-13T16:40:39.300 に答える