![](/img/trans.png)
[英]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.