美文网首页
使用 reduce 过滤集合中某个字段去重

使用 reduce 过滤集合中某个字段去重

作者: 洪锦一 | 来源:发表于2022-07-07 14:24 被阅读0次
let kstimgList = [
    {ID: 17168, OrderId: 208392, ParProductId: 1, PartProductName: "上衣",…}
    {ID: 17169, OrderId: 208392, ParProductId: 1, PartProductName: "上衣",…}
    {ID: 17170, OrderId: 208392, ParProductId: 1, PartProductName: "上衣",…}
    {ID: 17171, OrderId: 208392, ParProductId: 2, PartProductName: "西裤",…}
    {ID: 17172, OrderId: 208392, ParProductId: 2, PartProductName: "西裤",…}
]
    let newobj = {}; 
    kstimgList = kstimgList.reduce((preVal, curVal) => {
        newobj[curVal.ParProductId] ? '' : newobj[curVal.ParProductId] = preVal.push(curVal); 
        return preVal 
    }, [])

结果:newobj {1: 1, 2: 2}
结果:kstimgList
[{ID: 17168, OrderId: 208392, ParProductId: 1, PartProductName: '上衣', …}
{ID: 17171, OrderId: 208392, ParProductId: 2, PartProductName: '西裤', …}]

this.T_Order_SpecialRequirementsList = kstimgList; //数据
this.T_Order_SpecialRequirementsList.forEach((item) => {
    this.$set(item, "T_Order_KSTImgList", []); //设置一个图片空数组
    this.$set(item, "checkProductID", ""); //选中的品类是否为true;

    // 闭包解决变量污染问题
    (function(i){
    var ImgItem = kstimgList.filter((item2) => {
        return item2.ParProductId==i.ParProductId;
    });
    i.T_Order_KSTImgList=ImgItem;
    })(item)
});

相关文章

网友评论

      本文标题:使用 reduce 过滤集合中某个字段去重

      本文链接:https://www.haomeiwen.com/subject/yjhpbrtx.html