如何使用 switch case 将包含字符串的 a 值放入数组中的正确对象中?

我有一个data看起来像这样的数组:


{

"data": [

    {

        "season": "autumn",

        "firstContactPersonName": "John",

        "firstContactPersonPhone": "46442644",

        "secondContactPersonName": "Jhonny",

        "secondContactPersonPhone": "46442644"

    },

    {

        "season": "christmas",

        "firstContactPersonName": "Tommy",

        "firstContactPersonPhone": "46442644",

        "secondContactPersonPhone": "Thomas"

    },

    {

        "season": "winter",

        "firstContactPersonPhone": "46442644",

        "firstContactPersonName": "Peter",

        "secondContactPersonName": "Tom",

        "secondContactPersonPhone": "44664455"

    }

  ]

}

但有时可能会出现:


{

"data": [

    {

        "season": "christmas",

        "firstContactPersonName": "Tommy",

        "firstContactPersonPhone": "46442644",

        "secondContactPersonPhone": "Thomas"

    },

    {

        "season": "autumn",

        "firstContactPersonName": "John",

        "firstContactPersonPhone": "46442644",

        "secondContactPersonName": "Jhonny",

        "secondContactPersonPhone": "46442644"

    }

  ]

}

data数组可以改变。


我有另一个包含一些日期的数组。他们在数组中有以下日期:


const dateArray = ["christmas=2020-12-28", "autumn=2020-08-28", "winter=2020-02-28"].


有时可能会有 const dateArray = ["christmas=2020-12-28", "autumn=2020-08-28"]


我怎样才能将data数组中的这些日期插入到正确的对象中而不实际告诉对象在哪个位置?我怎样才能找到autumn,christmas或 所在的位置winter,然后将正确的日期放入正确的对象中?如果我向data数组中添加新对象怎么办?换句话说,我需要一些动态的方法来为我处理它。所以我可以在日期之前添加新键=并插入到data数组中的正确对象中。


牧羊人nacy
浏览 124回答 2
2回答

呼如林

let data = [    {        "season": "autumn",        "firstContactPersonName": "John",        "firstContactPersonPhone": "46442644",        "secondContactPersonName": "Jhonny",        "secondContactPersonPhone": "46442644"    },    {        "season": "christmas",        "firstContactPersonName": "Tommy",        "firstContactPersonPhone": "46442644",        "secondContactPersonPhone": "Thomas"    },    {        "season": "winter",        "firstContactPersonPhone": "46442644",        "firstContactPersonName": "Peter",        "secondContactPersonName": "Tom",        "secondContactPersonPhone": "44664455"    }  ]const dateArray = ["christmas=2020-12-28", "autumn=2020-08-28", "winter=2020-02-28"]let updatedData = data.map((x)=> {  let season = x.season;   x.date = dateArray.find(e=> e.indexOf(season) > -1).split("=")[1];  return x;  })                           console.log(updatedData)

达令说

不是用开关,但这是一种方法:  dateArray.forEach(date => {        if (date.includes("autumn")) {          data.data[0] = { ...data.data[0], date };        } else if (date.includes("christmas")) {          data.data[1] = { ...data.data[1], date };        } else if (date.includes("winter")) {          data.data[2] = { ...data.data[2], date };        }      });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript