簡體   English   中英

在字符串數組中串聯多個數組

[英]Concatenate multiple arrays in a array of strings

我有這個多個數組:

var array = [["par0_0","par0_1","par0_2"],["par1_0","par1_1","par1_2"],["par2_0","par2_1","par2_2"]];

我想在以下字符串數組中轉換此數組:

var result = [["par0_0,par1_0,par2_0"],["par0_1,par1_1,par2_1"],["par0_2,par1_2,par2_2"]];

最有效的方法是什么?

您可以在array上使用toString()將數組轉換為字符串並連接它們。

 var myArr = [ ['par0_0', 'par0_1', 'par0_2'], ['par1_0', 'par1_1', 'par1_2'], ['par2_0', 'par2_1', 'par2_2'] ]; var myArrLen = myArr.length, myOutput = []; // The output array for (var i = 0; i < myArrLen; i++) { var arrEl = []; // Initialize the array for inserting sub-array for (var j = 0; j < myArr[i].length; j++) { arrEl.push(myArr[j][i]); // Add items from same column into sub-array } myOutput[i] = [arrEl.toString()]; // Assign the string to output array } document.write(myOutput); console.log(myOutput); 

jsfiddle演示

您也可以兩次使用reduce()函數

[par0_0, par0_1, par0_2].reduce(function(previousValue, currentValue, index, array) {
   var result = "";
   if (index != 0)
   {
      result = ",";
   }
   return result + previousValue + currentValue;
});

您可以使用join() 這是一個例子:

var arr = [["par0_0","par0_1","par0_2"],
["par1_0","par1_1","par1_2"],
["par2_0","par2_1","par2_2"]]

for(var i = 0 ; i < arr.length; i++) {
    arr[i] = [arr[i].join()] ;
}

如果不想逗號, join()接受一個可選的分隔符參數。 默認分隔符是逗號。

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/join

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM