jquery SKU算法


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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值