js多规格sku过滤方法
在JavaScript中,可以使用filter()方法来过滤多规格SKU。假设我们有一个包含多个规格SKU的数组,每个SKU都有多个规格属性。我们可以使用filter()方法来筛选满足特定条件的SKU。
以下是一个示例代码:
const skus = [
{ id: 1, size: 'S', color: 'Red' },
{ id: 2, size: 'M', color: 'Blue' },
{ id: 3, size: 'L', color: 'Red' },
{ id: 4, size: 'S', color: 'Blue' },
{ id: 5, size: 'M', color: 'Red' },
{ id: 6, size: 'L', color: 'Blue' }
];
function filterSkus(skus, filters) {
return skus.filter(sku => {
for (let key in filters) {
if (sku[key] !== filters[key]) {
return false;
}
}
return true;
});
}
const filters = { size: 'M', color: 'Red' };
const filteredSkus = filterSkus(skus, filters);
console.log(filteredSkus);
在上述代码中,我们定义了一个名为filterSkus的函数,该函数接受两个参数:skus数组和filters对象。filterSkus函数使用filter()方法对skus数组进行过滤,根据filters对象中的规格属性来过滤SKU。
在filterSkus函数中,我们使用了一个for循环来遍历filters对象中的所有规格属性。对于每个SKU,我们检查它的对应规格属性是否与filters对象中的相应属性值相等。如果有任何一个规格属性不匹配,我们就返回false,表示该SKU不满足过滤条件。如果所有规格属性都匹配,我们就返回true,表示该SKU满足过滤条件。
最后,我们使用filters对象{ size: 'M', color: 'Red' }调用filterSkus函数,并将过滤结果打印到控制台中。输出结果为:[{ id: 5, size: 'M', color: 'Red' }],表示满足规格为'M'和颜色为'Red'的SKU
原文地址: https://www.cveoy.top/t/topic/iG6r 著作权归作者所有。请勿转载和采集!