52 lines
1.4 KiB
JavaScript
52 lines
1.4 KiB
JavaScript
//判断商品是否可以下单
|
||
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
|
||
} |