我在javascript中有一个数组。我必须对其进行迭代并将值连接到一个变量,并且每个值都应该用逗号分隔。
这是我的代码:
var selected = new Array();
jQuery("input[type=checkbox]:checked").each(function() {
selected.push(jQuery(this).attr('id'));
});
我在javascript中有一个数组。我必须对其进行迭代并将值连接到一个变量,并且每个值都应该用逗号分隔。
这是我的代码:
var selected = new Array();
jQuery("input[type=checkbox]:checked").each(function() {
selected.push(jQuery(this).attr('id'));
});
selected.join(',')
使用下面的代码。
var namesArray = new Array("John", "Micheal", "Doe","Steve","Bob"); //array
var resultString = ""; // result variable
//iterate each item of array
for (var i = 0; i < namesArray.length; i++)
resultString += namesArray[i] + ",";
//remove the extra comma at the end, using a regex
resultString = resultString.replace(/,(?=[^,]*$)/, '')
alert(resultString);
祝你好运。
你需要Array.join()
var a = new Array("Wind","Rain","Fire");
var myVar1 = a.join(); // assigns "Wind,Rain,Fire" to myVar1
var myVar2 = a.join(", "); // assigns "Wind, Rain, Fire" to myVar2
var myVar3 = a.join(" + "); // assigns "Wind + Rain + Fire" to myVar3
它不适用于参数,因为参数对象不是数组,尽管它看起来像它。它没有连接方法:
function myFun(arr) {
return 'the list: ' + arr.join(",");
}
myFun(arrayObject);
会抛出
TypeError: arr.join is not a function
因为arr
它不是一个 jQuery 对象,只是一个普通的 JavaScript 对象。
或者,不必删除多余的逗号,而是在 for 循环之外添加最后一个元素:
for (var i = 0; i < namesArray.length-1; i++)
resultString += namesArray[i] + ", ";
resultString += namesArray[namesArray.length-1];
是的,我知道这是一个旧帖子:-)