[英]Transpose a two dimensional Array with one row and many columns into a two dimensional array with many rows and one column
[英]jQuery two column (one dimensional) array?
我有一個簡單的一維數組,但我想使用jQuery將長列表分成兩列。 我該如何實現?
var articles = ['article10','article9','article8','article7','article6','article5','article4','article3', 'article2', 'article1'];
for ( var articCounter = articles.length; articCounter > 0; articCounter--) {
document.write('<a href="../articles/' + articles[articCounter-1] + '.pdf" > ' + articles[articCounter-1] + '</a></br>');
} // end for
我不想為兩個不同的float div創建兩個不同的數組。...我已經在Google上搜索了很多次,但是還有許多其他方法可以處理多維數組。
非常感謝您的提前幫助。
編輯:現在這只是一個長長的清單,像這樣:
第1條
第二條
第三條
....
但我想實現這一目標:
這會將您的數組分成2個數組:
var articles = ["article1", "article2", "article3", "article4", "article5", "article6", "article7", "article8", "article9", "article10"];
var separatorIndex = articles.length & 0x1 ? (articles.length+1)/2 : articles.length/2;
var firstChunk = articles.slice(0,separatorIndex);
//["article1", "article2", "article3", "article4", "article5"]
var secondChunk = articles.slice(separatorIndex,articles.length);
//["article6", "article7", "article8", "article9", "article10"]
然后,您可以在所需的位置和/或方式使用它們。
說明
第二行找到一個錨索引 (別名->中間划分索引),根據該索引應將數組分為2個塊。 該數組可以具有odd
和even
長度,必須區分這兩種情況。 由於這是不可能的奇數長度的數組分成2個等份 ,它必須以這樣的方式被划分,即第一組塊將具有1個元件更多或更少 的 ,比第二chunk.Here,我已經實現第一種情況下,即,第一塊將比第二個多1個元素。 以下是不同情況的示例:
total length | 1st (length) | 2st (length) | separatorIndex
10 0-4 (5) 5-9 (5) 5
11 0-5 (6) 6-10 (5) 6
12 0-5 (6) 0-11 (6) 6
在表中, number
- number
語法相應地顯示數組中的開始索引和結束索引。 該划分由.slice()函數完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.