//判断商品是否可以下单 export function isCanBuy(goods,isStock) { return goods.isGrounding && goods.isPauseSale == 0 && (isStock?goods.stockNumber > 0:true) ; } // 一个数组是否包含另外一个数组全部元素 function arrayContainsAll(arr1, arr2) { for (let i = 0; i < arr2.length; i++) { if (!arr1.includes(arr2[i])) { return false; } } return true; } //n项 n-1项组合,生成全部结果 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; } 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; } export default{ isCanBuy,arrayContainsAll,generateCombinations,returnReverseVal }