如何避免在forEach循环的最后一个元素后添加逗号
解决Vue中数组元素Code拼接后末尾多逗号的问题
方法一:使用map() + join()(推荐)
这是最简洁高效的方式,先通过map提取所有元素的Code值生成新数组,再用join(',')直接拼接,自动处理逗号,不会出现末尾多余的情况:
methods:{ test(){ this.Codes = this.Aarray.map(item => item.Code).join(','); console.log(this.Codes); } }
方法二:在forEach中判断是否为最后一个元素
如果一定要用forEach循环,可以利用循环的索引参数,判断当前元素是否是数组最后一个,只有非最后一个元素才添加逗号:
methods:{ test(){ this.Codes = ''; this.Aarray.forEach((value, index) => { this.Codes += value.Code; // 不是最后一个元素才加逗号 if (index !== this.Aarray.length - 1) { this.Codes += ','; } }); console.log(this.Codes); } }
方法三:拼接后去除末尾逗号
先按原来的方式拼接,最后用字符串方法去掉末尾的逗号,这种方法适合简单场景,但如果拼接结果为空时要注意避免报错:
methods:{ test(){ this.Codes = ''; this.Aarray.forEach((value)=>{ this.Codes += value.Code +','; }); // 去掉最后一个字符(逗号) this.Codes = this.Codes.slice(0, -1); console.log(this.Codes); } }
内容的提问来源于stack exchange,提问作者Meow
相关产品推荐
相关产品推荐

