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都可以