js列表循环遍历对象值

js yekong

接口请求时,会遇到前端需要的值是列表,但是后端返回的字段是对象,例如接口文档的描述如下:

字段含义:
studentTypeJuniorCollege--学生(数据源:教务)-专科生数
studentTypeOverseasStudent--学生(数据源:教务)-留学生数
studentTypeCorrespondenceStudent--学生(数据源:教务)-函授生数

我们的列表如下:如果手动去一个一个指定容易出错,这时候我们可以调整一下,给每个值一个id这个id和接口返回的对象key是一致的,然后通过循环遍历来获取赋值,就不容易出错了。

修改前

list: [{
    title: '专科生',
    value: 0}, {
    title: '留学生',
    value: 0}, {
    title: '函授生',
    value: 0}, {
    title: '全日制在校生',
    value: 0}, {
    title: '折合在校生',
    value: 0}
]

修改后

list: [{
    title: '专科生',
    value: 0,
    id: 'studentTypeJuniorCollege'
  }, {
    title: '留学生',
    value: 0,
    id: 'studentTypeOverseasStudent'
  }, {
    title: '函授生',
    value: 0,
    id: 'studentTypeCorrespondenceStudent'
  }, {
    title: '全日制在校生',
    value: 0,
    id: 'learningTypeFullTime'
  }, {
    title: '折合在校生',
    value: 0,
    id: 'learningTypeAll'
  },],

请求接口获取值

getData() {
  var that = this;
  getBaseData({year: dayjs().format("YYYY")}).then(res => {
    if (res.data) {
      that.list.forEach((type) => {
        type.value = res.data[type.id]
      });
    }
  }).catch(err => {
  })
},

这样不用担心赋值出错,也方便管理。

喜欢