问问哥哥们 怎么处理才能只留下partPrice最小的对象呢 相同partname和origin的元素做比较


[
    {
        "partName": "大灯",
        "origin": "原厂件",
        "partPrice": 5272,
        "remark": "现货 B3.配套厂车后市场件",
        "key": 0
    },
    {
        "partName": "大灯",
        "origin": "品牌件",
        "partPrice": 2276,
        "remark": "现货 C6.副厂",
        "key": 1
    },
    {
        "partName": "前保",
        "origin": "原厂件",
        "partPrice": 2755,
        "remark": "现货 B3.配套厂车后市场件",
        "key": 2
    },
    {
        "partName": "前保",
        "origin": "品牌件",
        "partPrice": 1704,
        "remark": "现货 C1.台湾件",
        "key": 3
    },
    {
        "partName": "中网",
        "origin": "原厂件",
        "partPrice": 1591,
        "remark": "现货 B3.配套厂车后市场件",
        "key": 4
    },
    {
        "partName": "中网",
        "origin": "品牌件",
        "partPrice": 802,
        "remark": "现货 C6.副厂",
        "key": 5
    },
    {
        "partName": "亮条",
        "origin": "原厂件",
        "partPrice": 4162,
        "remark": "订货4天 B3.配套厂车后市场件",
        "key": 6
    },
    {
        "partName": "亮条",
        "origin": "品牌件",
        "partPrice": 2205,
        "remark": "订货1天 C6.副厂",
        "key": 7
    },
    {
        "partName": "大灯",
        "origin": "原厂件",
        "partPrice": 124,
        "remark": "现货 A1.国内4S(国产原厂件)",
        "key": 8
    },
    {
        "partName": "大灯",
        "origin": "品牌件",
        "partPrice": 129,
        "remark": "现货 C1.台湾件",
        "key": 9
    },
    {
        "partName": "前保",
        "origin": "原厂件",
        "partPrice": 124,
        "remark": "现货 A1.国内4S(国产原厂件)",
        "key": 10
    },
    {
        "partName": "前保",
        "origin": "品牌件",
        "partPrice": 129279,
        "remark": "现货 C5.拆车件(翻新件)",
        "key": 11
    },
    {
        "partName": "中网",
        "origin": "原厂件",
        "partPrice": 124,
        "remark": "现货 A1.国内4S(国产原厂件)",
        "key": 12
    },
    {
        "partName": "中网",
        "origin": "品牌件",
        "partPrice": 129,
        "remark": "现货 C6.副厂",
        "key": 13
    },
    {
        "partName": "亮条",
        "origin": "

数组sort升序排列下取第一项就行,如果取每组partName的,用下面的代码,有帮助麻烦点个采纳【本回答右上角】,谢谢~~

<script>
    var arr =
        [
            {
                "partName": "大灯",
                "origin": "原厂件",
                "partPrice": 5272,
                "remark": "现货 B3.配套厂车后市场件",
                "key": 0
            },
            {
                "partName": "大灯",
                "origin": "品牌件",
                "partPrice": 2276,
                "remark": "现货 C6.副厂",
                "key": 1
            },
            {
                "partName": "前保",
                "origin": "原厂件",
                "partPrice": 2755,
                "remark": "现货 B3.配套厂车后市场件",
                "key": 2
            },
            {
                "partName": "前保",
                "origin": "品牌件",
                "partPrice": 1704,
                "remark": "现货 C1.台湾件",
                "key": 3
            },
            {
                "partName": "中网",
                "origin": "原厂件",
                "partPrice": 1591,
                "remark": "现货 B3.配套厂车后市场件",
                "key": 4
            },
            {
                "partName": "中网",
                "origin": "品牌件",
                "partPrice": 802,
                "remark": "现货 C6.副厂",
                "key": 5
            },
            {
                "partName": "亮条",
                "origin": "原厂件",
                "partPrice": 4162,
                "remark": "订货4天 B3.配套厂车后市场件",
                "key": 6
            },
            {
                "partName": "亮条",
                "origin": "品牌件",
                "partPrice": 2205,
                "remark": "订货1天 C6.副厂",
                "key": 7
            },
            {
                "partName": "大灯",
                "origin": "原厂件",
                "partPrice": 124,
                "remark": "现货 A1.国内4S(国产原厂件)",
                "key": 8
            },
            {
                "partName": "大灯",
                "origin": "品牌件",
                "partPrice": 129,
                "remark": "现货 C1.台湾件",
                "key": 9
            },
            {
                "partName": "前保",
                "origin": "原厂件",
                "partPrice": 124,
                "remark": "现货 A1.国内4S(国产原厂件)",
                "key": 10
            },
            {
                "partName": "前保",
                "origin": "品牌件",
                "partPrice": 129279,
                "remark": "现货 C5.拆车件(翻新件)",
                "key": 11
            },
            {
                "partName": "中网",
                "origin": "原厂件",
                "partPrice": 124,
                "remark": "现货 A1.国内4S(国产原厂件)",
                "key": 12
            },
            {
                "partName": "中网",
                "origin": "品牌件",
                "partPrice": 129,
                "remark": "现货 C6.副厂",
                "key": 13
            }];

    var kv = {},key
    arr.forEach(i => {//按照partName+origin分组
        key = i.partName + '-' + i.origin;
        if (!kv[key]) kv[key] = [];
        kv[key].push(i);
    });
    var newarr=[]
    for (var attr in kv) {//对分组按照partPrice排序
        kv[attr].sort((a, b) => a.partPrice - b.partPrice);
        newarr.push(kv[attr][0]);///////
    }
    alert(JSON.stringify(newarr))
</script>
// 获取最小
function getMin(data, keys = ["partName", "origin"]){
    let min = {};
    data.forEach(item => {
        let key = ""
        keys.forEach((_key, i) => {
            key = i === 0 ?item[_key] : key + "-" +item[_key]
        })
        
        if(min[key] === undefined){
            min[key] = item
        }else if(min[key].partPrice > item.partPrice){
            min[key] = item
        } 
    })
    return min;
}

let min = getMin(arr)