if (y.length==num){
let m = y.toString();
let h = "";
let g = "";
let n = "";
for(let j=0;j<m.length;j++){
n = m.charAt(j);
if (n!=","){
g = h.concat(n);
}
}
console.log(g)
}
如果数组的长度等于整数,那么我们将创建一个由数组组成的字符串的变量以及任意字符串h。 然后,我们使用charAt遍历字符串m。目的是消除字符串中的逗号,然后合并不等于逗号的字符。 但是,循环不会连接新字符串。 你们碰巧知道为什么吗?
答案 0 :(得分:2)
h
初始化为空字符串,并且永远不会重新分配,所以
var g = h.concat(n);
总是有效的意思
var g = n;
是要迭代的当前字符。
您可以完全删除g
变量,然后重新分配h
:
const num = 5;
const y = ['a', 'b', ',', 'c,', 'd'];
if (y.length==num){
let m = y.toString();
let h = "";
for(let j=0;j<m.length;j++){
let n = m.charAt(j);
if (n!=","){
h = h.concat(n);
}
}
console.log(h)
}
一个更易读的选项是用空字符串join
(不要调用toString
,这会添加不希望的逗号),然后使用正则表达式删除{{1 }}:
,