JavaScript 多规格 SKU 过滤方法 - 使用 filter() 实现高效筛选
在 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/qnCl 著作权归作者所有。请勿转载和采集!