foreach遍历出来总是取最后一个值?

有个问题就是,我用foreach遍历数组,但是调用的时候总是只用最后一个,前面的都被覆盖了,我记得可以用一个新数组存起来,但是忘记怎么写,求大佬帮解答一下??
我是element-ui的框架

          this.HouseInfo.forEach(element => {
            this.communityId = element.id;
            console.log(this.communityId);
            element.value = element.name;
            element.label = element.name;
            element.children = [];
          });
          //在下面调用
     _getBuilding() {
      list_building({
        communityId: this.communityId
      })
        .then(res => {
          console.log(res.data);
        })
        .catch(err => {});
    },
    handleItemChange(val) {
      // this._getCommunityList();
      this._getBuilding();
      console.log(val);
      // console.log(val);
    },

clipboard.png
遍历出是这三个数据,但是用的时候都只是最后一个!

用的都是最后一个??

阅读 10.5k
5 个回答

不放代码不放截图直接提问的都是耍流氓

forEach结束之后才会接着执行下面的方法,this.communityId的值一直被覆盖,可不就是最后一个咯

更新:

this.HouseInfo.forEach(element => {
            this.communityId = element.id;
            console.log(this.communityId);
            element.value = element.name;
            element.label = element.name;
            element.children = [];
            _getBuilding() {
              list_building({
                communityId: element.id
              })
          });

forEach确实遍历了每一项,并赋值。但是每次读数组当中的值,下一次的赋值会覆盖上一次赋值,你可以在赋值后,在循环里调用后面的方法。这样每次的值都能被后面的方法捕获

上面的意思我已经明白了,主要是我没有push,我应该新建一个空的数组,把指一个个push进去就可以了

新手上路,请多包涵

elementUI 最好不要遍历接口数据 然后去push到一个新数组里 不是有一个prop 你如果是table表格 就直接复制给table
类似这样 <el-table :data="tableData"

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏