博客
关于我
关于使用map,for等遍历数组获取其中每一项的值在调用接口只取到最后一个值的问题
阅读量:694 次
发布时间:2019-03-15

本文共 1139 字,大约阅读时间需要 3 分钟。

接上一篇文章;

这里循环一个数组list,拿到其中的某些值,去做参数执行下一步的方法,需要这个参数(params)是变化的,但是在sendRightsParams方法中,输出的值总是数组的最后一项里面的内容,

getRights(list) {               const paramsKey = this.mediaForRights[this.type].keys.value;            if (list && list.length) {                   list.map((item, index) => {                       const params = item.name;                    const temp = item[this.mediaForRights[this.type].keys.id];                    this.$set(params, paramsKey, temp);                    this.sendRightsParams(params, index);                });            }        },

造成的原因:

这里给paramsKey赋值的话,每次重新的遍历会覆盖掉之前的值;
修改之后的代码

getRights(list) {               const paramsKey = this.mediaForRights[this.type].keys.value;            if (list && list.length) {                   list.map((item, index) => {                       const params = Object.assign({   }, item.name);                    const temp = item[this.mediaForRights[this.type].keys.id];                    this.$set(params, paramsKey, temp);                    this.sendRightsParams(params, index);                });            }        },

另外:如果采用var来定义变量的话可能会经常遇到变量的作用域、变量提升问题;一般使用let比较好。

转载地址:http://qgfmz.baihongyu.com/

你可能感兴趣的文章
Java实现八大内部排序算法
查看>>
数组与链表的优缺点/效率问题
查看>>
《Linux网络编程》学习导图
查看>>
《TCP/IP协议族》:子网掩码详解
查看>>
Linux(Linux系统简介)
查看>>
记录踩过的坑-WPS文字
查看>>
机器学习中的random_state参数
查看>>
android缓存封装-没有最简只有更简
查看>>
多手机兼容的上拉图文详情
查看>>
推荐一个很好用的android集合工具类AndroidUtilCode
查看>>
汉子时钟
查看>>
D. Too Easy Problems(思维+二分枚举)
查看>>
Xenia and Colorful Gems(思维+排列枚举+二分)
查看>>
A. No to Palindromes!(思维+模拟)
查看>>
D. Maximum Sum of Products(区间dp)
查看>>
Unity导出 Webgl托管报JavaScript 错误
查看>>
刷脸支付服务商铺天盖地地推广着设备
查看>>
刷脸支付时代的变革意味着个人命运的改变
查看>>
Pyramid of Glasses CodeForces - 676B (dp,模拟)
查看>>
n!最后K位 计蒜客 - 236(大整数模拟模板)
查看>>