//判断商品是否可以下单
export function isCanBuy(goods,isStock) {
    return goods.isGrounding && goods.isPauseSale == 0 && (isStock?goods.stockNumber > 0:true) ;
}

// 一个数组是否包含另外一个数组全部元素
export function arrayContainsAll(arr1, arr2) {
    for (let i = 0; i < arr2.length; i++) {
        if (!arr1.includes(arr2[i])) {
            return false;
        }
    }
    return true;
}

//n项 n-1项组合，生成全部结果
export function generateCombinations(arr, k) {
    let result = [];

    function helper(index, current) {
        if (current.length === k) {
            result.push(current.slice()); // 使用slice()来避免直接修改原始数组
        } else {
            for (let i = index; i < arr.length; i++) {
                current.push(arr[i]); // 将当前元素添加到组合中
                helper(i + 1, current); // 递归调用，索引增加以避免重复选择相同的元素
                current.pop(); // 回溯，移除当前元素以便尝试其他组合
            }
        }
    }

    helper(0, []); // 从索引0开始，初始空数组作为起点
    return result;
}

export function returnReverseVal(val, isReturnString = true) {
    const isBol = typeof val === "boolean";
    const isString = typeof val === "string";
    let reverseNewval = "";
    if (isBol) {
        reverseNewval = !val;
    }
    if (isString) {
        reverseNewval = val === "true" ? "false" : "true";
    }
    return reverseNewval;
}
