trialObject : {
'color': ['red','blue'],
'size': ['s','m'],
'material': ['cotton']
}
makeObjectVariants(selected){
let key = Object.keys(selected)
if(Object.keys(selected).length === 1){
return selected[key[0]];
} else {
var result = [];
var currentArray = selected[key[0]]
delete selected[key[0]]
var restObjects = this.makeObjectVariants(selected)
for(var i = 0; i < restObjects.length; i++){
for (var j = 0; j < currentArray.length; j++) {
result.push([restObjects[i] +','+ currentArray[j]]);
}
}
return result;
}
}
0:["cotton,s,red"]
1:["cotton,s,blue"]
2:["cotton,m,red"]
3:["cotton,m,blue"]
[{'material':cotton,'size':s,'color':red},...]
I want the output to have pairs of key values ββso that the elements of the array can be recognized in which group they fall into.
I have to deal with the problem of adding keys to generated elements, because m cannot track object keys
source
share