//Data Source vartarget ={state1: [' 1 ', ' 2 '], state2: [' 01 ', ' 02 ', ' 03 '], state3: [' 001 ', ' 002 ']} stacksituation (target)functionstacksituation (data) {varTargetkeys =Object.keys (data)vartarget = Faker = [] if(targetkeys.length) {target= Targetkeys.map ((key) = =Data[key]) Faker= Target[0]} target.foreach ((Itemarr, Index, Currentarr)={Faker= JS (faker, Currentarr[index + 1]) }) functionJS (arr1, arr2) {vararr1 = arr1 | | [] vararr2 = ARR2 | |[] Faker= [] for(vari = 0;i < arr1.length; i++){ if(!arr2.length) {Faker.push (arr1[i])}Else { for(varj = 0; J < Arr2.length; J + +) {Faker.push (Arr1[i]+ ' _ ' +Arr2[j]); } } } returnFaker}varresult = Faker.map (item) = Item.split (' _ ')) ) console.table (Result)returnresult}
JS one or more one-dimensional arrays to figure out all the cases in which the elements are grouped together