var data = [
['蓝色', '红色'],
['39', '38', '37', '36'],
['纯棉', '涤纶', '亚麻'],
];
var result = formatSkuData(data);
console.log(result);
// [
// ["蓝色","39","纯棉"],
// ["蓝色","39","涤纶"],
// ["蓝色","39","亚麻"],
// ["蓝色","38","纯棉"],
// ["蓝色","38","涤纶"],
// ["蓝色","38","亚麻"],
// ["蓝色","37","纯棉"],
// ["蓝色","37","涤纶"],
// ["蓝色","37","亚麻"],
// ["蓝色","36","纯棉"],
// ["蓝色","36","涤纶"],
// ["蓝色","36","亚麻"],
// ["红色","39","纯棉"],
// ["红色","39","涤纶"],
// ["红色","39","亚麻"],
// ["红色","38","纯棉"],
// ["红色","38","涤纶"],
// ["红色","38","亚麻"],
// ["红色","37","纯棉"],
// ["红色","37","涤纶"],
// ["红色","37","亚麻"],
// ["红色","36","纯棉"],
// ["红色","36","涤纶"],
// ["红色","36","亚麻"],
// ]
var formatSkuData = function (orignal) {
if (!$.isArray(orignal)) {
return [];
}
if (orignal.length == 0) {
return [];
}
if (orignal.length < 2) {
let targetTmp = orignal.shift()
return $.isArray(targetTmp) ? targetTmp : [];
}
var target = orignal.shift();
target = $.isArray(target) ? target : [];
var tmp = orignal.shift();
var invalideParam = false;
while ($.isArray(tmp) && tmp.length != 0) {
var targetTmp = [];
$.each(target, function (key, value) {
$.each(tmp, function (k, v) {
targetTmp.push($.merge($.makeArray(value), [v]));
})
})
target = targetTmp;
tmp = orignal.shift();
}
return target;
}