我试图通过for loop
连接字符串,但我正在接收NaNs
。我想要实现的是获得一个串联的字符串Div #0, Div #1, Div #2, Div #3,
。
var divLength = $('div').length;
var str = '';
for(var i=0; i<divLength; i++){
var str =+ "Div #" + [i] + ", ";
console.log(str);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>
<div></div>
<div></div>
<div></div>
&#13;
答案 0 :(得分:6)
请勿在{{1}}循环内声明新的str
变量。重用你在循环外声明的那个。同时做var str
+=
&#13;
var divLength = $('div').length;
var str = '';
for(var i=0; i<divLength; i++){
str += "Div #" + i + ", ";
console.log(str);
}
&#13;
答案 1 :(得分:0)
除了选定的答案之外,如果您可以在forEach
里面放一些东西,可以用divs
来做:
let string = '';
items.forEach(item => string += '<div>'+ item.description + '</div>');
答案 2 :(得分:0)
如果我们要连接数组的字符串,那么您可以这样做。 For 循环也是最好的解决方案,但它变成了庞大的过程:
if(this.questionData.length > 0) {
this.questionData.forEach(questions => {this.questionsParams += '&question'+ questions.question +'=' + questions.value;
});
}
完美的解决方案输出如下:
&question1=1&question2=0&question3=1&question4=0
答案 3 :(得分:0)
let str = '';
for (const i of [...Array(divLength).keys()]) {
str += `Div #${i}, `;
}
console.log(str);
或单线替代品,
console.log(`${[...Array(divLength).keys()].map(val => ` Div #${val}`)}`.substr(1))