js如何根据数组里对象的某个属性值对应修改其值,详见问题

js如何根据数组里对象的某个属性值对应修改其值,详见问题

问题描述:

先上我写的代码:

for(var i = 0;i<this.weekData.length;i++){
          this.$set(this.weekData[i], `week`, '一')
        }

weekData的数据大概是这样:

weekData: [
    {
      "month": "2021-09",
      "day": 13,
      "week": 1
    },
    {
      "month": "2021-09",
      "day": 14,
      "week": 2
    },
    {
      "month": "2021-09",
      "day": 15,
      "week": 3
    },
    {
      "month": "2021-09",
      "day": 16,
      "week": 4
    },
    {
      "month": "2021-09",
      "day": 17,
      "week": 5
    },
    {
      "month": "2021-09",
      "day": 18,
      "week": 6
    },
    {
      "month": "2021-09",
      "day": 19,
      "week": 0
    }
  ]

其实就是转一下week的值,比如是week是1,就修改为'一',2就是'二',以此类推

let weekJson=["日","一","二","三","四","五","六"];
for(var i = 0;i<this.weekData.length;i++){
   let week = this.weekData[i].week;
   this.$set(this.weekData[i], `week`, weekJson[week]);
}

如果能帮到你,请点击下【采纳】,谢谢


const arr = ['日','一','二','三','四','五','六'];
for(var i = 0;i<this.weekData.length;i++){
    this.$set(this.weekData[i], 'week', arr[this.weekData[i].week])
}


let weekData = [
        {
            "month": "2021-09",
            "day": 13,
            "week": 1
        },
        {
            "month": "2021-09",
            "day": 14,
            "week": 2
        },
        {
            "month": "2021-09",
            "day": 15,
            "week": 3
        },
        {
            "month": "2021-09",
            "day": 16,
            "week": 4
        },
        {
            "month": "2021-09",
            "day": 17,
            "week": 5
        },
        {
            "month": "2021-09",
            "day": 18,
            "week": 6
        },
        {
            "month": "2021-09",
            "day": 19,
            "week": 0
        }
    ];
       let data=toWeek(weekData);
       console.log(data);
    function toWeek(data) {
        let weekArr = ["一", "二", "三", "四", "五", "六", "七"];
        return data.map((item) => {
            item.weekText = "";
            if (Number(item.week) == 1) {
                item.weekText = weekArr[0];
            } else if (Number(item.week) == 2) {
                item.weekText = weekArr[1];
            }else if (Number(item.week) == 3) {
                item.weekText = weekArr[2];
            }else if (Number(item.week) == 4) {
                item.weekText = weekArr[3];
            }else if (Number(item.week) == 5) {
                item.weekText = weekArr[4];
            }else if (Number(item.week) == 6) {
                item.weekText = weekArr[5];
            }else if (Number(item.week) == 0) {
                item.weekText = weekArr[6];
            }
            return item;
        })
       
    }

你那样是直接转了,把1转一,后面怎么判断呢???

你可以加个id,,id做索引,显示的用week,这样子的话,不管你怎么修改week都可以