vue关于中数组的问题

vue关于中数组的问题

public xmmcList: any = []

public async getProjectName(uid: any) {

const res: any = await Service.getProNameApi({ uuid: uid })

if (res && res.code === 0 && res.data.length) {

// for of的写法跟下面map的写法有什么区别吗?

// 为什么push可以显示数据

// 下面的map返回值就不行

this.xmmcList.length = 0

for (const item of res.data) {

this.xmmcList.push({

...item,

value: item.xmmc,

label: item.xmmc

})

}

// this.xmmcList = res.data.map((item: any) => {

// return {

// ...item,

// label: item.xmmc,

// value: item.xmmc

// }

// })

console.log(this.xmmcList)

// console.log(this.tableData.columns[3].editRender.options = this.xmmcList)

}

}


回答:

map 的写法相当于:

const temp = [];

for (const item of res.data) {

temp.push({

// ...item,

value: item.xmmc,

label: item.xmmc

})

}

this.xmmcList = temp;

所以,如果迭代函数返回的子项与push接收的参数一样的话,两种方法的结果是等效的。
但是你的代码里有一个地方不一样,就是我示例代码里注释掉的那一句,你可以试着在 map 的迭代函数里加上这一句(注意去掉注释),使它保持与for...of 写法的结果一致。
解决了这个问题再看其他地方。


回答:

没觉得有什么问题啊? https://codepen.io/pengbouest...

以上是 vue关于中数组的问题 的全部内容, 来源链接: utcz.com/p/936343.html

回到顶部