2013-08-13 2 views
-3

У меня есть две переменные jQuery. Каждая переменная представляет собой текстовую строку, содержащую слова, разделенные запятой.Нужно объединить строки из двух массивов

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

Я хотел бы иметь третью переменную retured так:

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

Все это jquery. Его простой старый javascript. –

+0

Насколько я могу судить, вы еще не используете jQuery –

+0

'var myThirdVariable = myFirstVariable +", "+ mySecondVariable;' – ketan

ответ

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

0

ОК, так что вам не нужно JQuery, чтобы достичь этого, только JavaScript.

проверить этот ответ здесь, чтобы помочь вам:

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

+0

Это должен быть комментарий и закрытие, как голосование по ошибке. – j08691

+0

Это не то, что он хочет сделать – Bergi

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

Вы можете использовать обычный старый метод разделения строки, чтобы получить 2 массивов. http://www.w3schools.com/jsref/jsref_split.asp

Затем вы можете использовать вложенные петли для ввода новых строк в ваш третий массив, а затем использовать метод join для создания окончательной строки. http://www.w3schools.com/jsref/jsref_join.asp

Смежные вопросы