在javascript中迭代一个数组并将其连接到另一个变量

时间:2013-09-24 05:22:24

标签: javascript jquery for-loop

我在javascript中有一个数组。我必须迭代它并将值连接到一个变量,每个值应该用逗号分隔。

这是我的代码:

var selected = new Array();
jQuery("input[type=checkbox]:checked").each(function() {
    selected.push(jQuery(this).attr('id'));
});

4 个答案:

答案 0 :(得分:4)

selected.join(',')

请参阅Array.join()

答案 1 :(得分:2)

您需要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

的问题:

它不能使用参数,因为arguments对象不是数组,尽管看起来像它。它没有连接方法:

function myFun(arr) {
   return 'the list: ' + arr.join(",");
} 
myFun(arrayObject);

将抛出

TypeError: arr.join is not a function

因为arr不是jQuery对象,只是常规的JavaScript对象。

答案 2 :(得分:2)

使用以下代码。

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); 

祝你好运。

答案 3 :(得分:1)

OR,而不是必须删除额外的逗号,在for循环之外添加最后一个元素:

for (var i = 0; i < namesArray.length-1; i++)
    resultString += namesArray[i] + ", ";
resultString += namesArray[namesArray.length-1];

是的,我知道这是一个老帖子: - )