//比较两个树形数组
const isCheckByProduct = (arr1, arr2) => {
if (!arr2) return arr1;
arr1?.forEach((item) => {
arr2.forEach((check) => {
if (item.skus && item.skus?.length > 0) {
// 如果item有skus
if (item.id === check.id && item.skus?.length === check.skus?.length) {
item.disabled = true;
isCheckByProduct(item.skus, check.skus);
} else {
isCheckByProduct(item.skus, check.skus);
}
} else {
if (item.id === check.id) {
item.disabled = true;
}
}
});
});
return arr1;
};
请使用代码块功能
回调函数的具体定义比较拗口,比较难以理解,因此比较生动的例子就是:小明到小红店里去购物,但是小红家恰好没货,因此小明留下了联系方式,等进货之后联系小明来购物
更加清晰的解释为:如果将函数指针作为参数被传递到函数中,当这个函数指针被用于调用其指向的函数时,我们就称这个函数为回调函数
回调函数的主要优势是解耦,即调用者和被调用者被分开,调用者无需了解谁是被调用者,它只需知道如果满足某条件之后,函数将被调用