vue 数据处理问题

数据如下,每一项的image根据attributeValue来赋值,所有的arrtibuteValue1相同值的image是一样的,比如第一项attributeValue1的值是"P.Ⅰ", 并且这一条的image是有值的话那么所有attributeValue1 等于p.I 的image都被赋值,attributeValue1的值会有多个,相同值的image是一样的,如果attributeValue1的image都没有值得话,以此类推attribute2,3,4... 优先级按照数字的顺序,应该如何修改,感谢各位

let arr = [
    {
        "skuCode": "cxzcxz",
        "skuName": "fdgfdgfd",
        "price": "",
        "isShelf": "1",
        "image": "https://lumall.inspures.com/images/product/6985e333-dd45-45dc-b496-889400f1eb9a.png",
        "uniqueCategoryKey": "11,21,31",
        "attributeName1": "种类1",
        "attributeValue1": "P.Ⅰ",
        "attributeName2": "强度2",
        "attributeValue2": "32.5",
        "attributeName3": "其他",
        "attributeValue3": "免税"
    },
    {
        "skuCode": "cxzcxz",
        "skuName": "dvfdg",
        "price": "",
        "isShelf": "1",
        "image": "https://lumall.inspures.com/images/product/7a2a169a-c08c-4492-914a-e6f878c3b204.png",
        "uniqueCategoryKey": "11,21,32",
        "attributeName1": "种类1",
        "attributeValue1": "P.Ⅰ",
        "attributeName2": "强度2",
        "attributeValue2": "32.5",
        "attributeName3": "其他",
        "attributeValue3": "缓凝"
    },
    {
        "skuCode": "dsadsad",
        "skuName": "vfvf",
        "price": "",
        "isShelf": "1",
        "image": "",
        "uniqueCategoryKey": "12,21,31",
        "attributeName1": "种类1",
        "attributeValue1": "P.Ⅱ",
        "attributeName2": "强度2",
        "attributeValue2": "32.5",
        "attributeName3": "其他",
        "attributeValue3": "免税"
    },
    {
        "skuCode": "vcxvcx",
        "skuName": "dsadsadsa",
        "price": "",
        "isShelf": "1",
        "image": "",
        "uniqueCategoryKey": "12,21,32",
        "attributeName1": "种类1",
        "attributeValue1": "P.Ⅱ",
        "attributeName2": "强度2",
        "attributeValue2": "32.5",
        "attributeName3": "其他",
        "attributeValue3": "缓凝"
    }
]

想要的数据格式,相同attributeValue1这一项的image是相同的,优先去找attributeValue1的image如果没有继续往下找,以此类推

[
    {
        "skuCode": "cxzcxz",
        "skuName": "fdgfdgfd",
        "price": "",
        "isShelf": "1",
        "image": "https://lumall.inspures.com/images/product/6985e333-dd45-45dc-b496-889400f1eb9a.png",
        "uniqueCategoryKey": "11,21,31",
        "attributeName1": "种类1",
        "attributeValue1": "P.Ⅰ",
        "attributeName2": "强度2",
        "attributeValue2": "32.5",
        "attributeName3": "其他",
        "attributeValue3": "免税"
    },
    {
        "skuCode": "cxzcxz",
        "skuName": "dvfdg",
        "price": "",
        "isShelf": "1",
        "image": "https://lumall.inspures.com/images/product/6985e333-dd45-45dc-b496-889400f1eb9a.png",
        "uniqueCategoryKey": "11,21,32",
        "attributeName1": "种类1",
        "attributeValue1": "P.Ⅰ",
        "attributeName2": "强度2",
        "attributeValue2": "32.5",
        "attributeName3": "其他",
        "attributeValue3": "缓凝"
    },
    {
        "skuCode": "dsadsad",
        "skuName": "vfvf",
        "price": "",
        "isShelf": "1",
        "image": "https://lumall.inspures.com/images/product/7a2a169a-c08c-4492-914a-e6f878c3b204.png",
        "uniqueCategoryKey": "12,21,31",
        "attributeName1": "种类1",
        "attributeValue1": "P.Ⅱ",
        "attributeName2": "强度2",
        "attributeValue2": "32.5",
        "attributeName3": "其他",
        "attributeValue3": "免税"
    },
    {
        "skuCode": "vcxvcx",
        "skuName": "dsadsadsa",
        "price": "",
        "isShelf": "1",
        "image": "https://lumall.inspures.com/images/product/7a2a169a-c08c-4492-914a-e6f878c3b204.png",
        "uniqueCategoryKey": "12,21,32",
        "attributeName1": "种类1",
        "attributeValue1": "P.Ⅱ",
        "attributeName2": "强度2",
        "attributeValue2": "32.5",
        "attributeName3": "其他",
        "attributeValue3": "缓凝"
    }
]
阅读 931
1 个回答

简单的例子

const arr = [{ img: '', value1: 1 }, { img: 'test', value1: 2 }, { img: '', value1: 1 }, { img: 'bbb', value2: 66 }]
 const img = arr.filter(v => {
     if (v.value1 && v.img) {
       return  v    
     }
 })[0].img;
 arr.map(item => {
     if (item.value1) {
        item.img = img
     }
    
    return item
})

console.log(arr)

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题