Javascript-将元素数组转换为数组块
Javascript - convert array of elements to array blocks
所以我有一个javascript变量,看起来像这个
D,CPU_Purchased_ghz,2015-03-19 00:00:00,10.00,2015-03-20 00:00:00,10.00
有可能分裂成这样的阵列吗:
[
[D,CPU_Purchased_ghz],
[2015-03-19 00:00:00,10.00],
[2015-03-20 00:00:00,10.00]
]
即。我希望能够将其拆分为2个的块
这个小函数将数组分块为指定大小的块:
var chunk = function (chunkSize, array) {
var chunked = []
var from
for (var i = 0, range = array.length / chunkSize; i < range; i++) {
from = i * chunkSize
chunked.push(array.slice(from, from + chunkSize))
}
return chunked
}
// Usage:
chunk(3, [1, 2, 3, 4, 5])
// -> [[1, 2, 3], [4, 5]]
如果您使用的变量实际上是一个数组:
var arr1 = [ "D", "CPU_Purchased_ghz", "2015-03-19 00:00:00", 10.00, "2015-03-20 00:00:00", 10.00 ];
var arr2 = [];
for(var i=0, l=arr1.length; i<l; i++){
arr2.push( [arr1[i], arr1[++i]] );
}
console.log(arr2); // Outputs [ ["D","CPU_Purchased_ghz"], ["2015-03-19 00:00:00",10.00], ["2015-03-20 00:00:00",10.00] ]
JS Fiddle演示
(有关阵列解决方案,请参见编辑)
这可以用正则表达式很好地完成
var arr = aString.match(/[^,]+,[^,]+/g);
其中aString
包含您的字符串。
退货:
[
"D,CPU_Purchased_ghz",
"2015-03-19 00:00:00,10.00",
"2015-03-20 00:00:00,10.00"
]
JSFiddle
编辑:我刚刚收到通知,变量可能是数组,而不是字符串。如果确实是这样的话,只需先加入数组:
var arr = aArray.join(',').match(/[^,]+,[^,]+/g);
JsFiddle for array
相关文章:
- 使用JS将数组转换为json对象
- 本地存储中的字符串到字节数组转换
- Javascript函数,用于将数组转换为“;2-元组”;
- php数组转换为javascript
- 在Javascript中将一个值和字符串数组转换为if语句
- 将数组转换为javascript格式的字符串
- 如何将数组转换为有效的json
- JSON数组转换为JS对象数组
- 如何将数组转换为映射
- JavaScript:将字符串数组转换为文本区域
- javascript |数组转换
- 数组转换为多个字符串
- Javascript将数组转换为字符串并使其反向输出
- 将Byte数组转换为Angularjs中的Base64字符串
- 将对象数组转换为与nodejs/pg/unnest兼容的数组
- 将Javascript数组转换为PHP数组
- 将数组转换为键值对
- 使用Ramda将对象数组转换为普通对象
- javascript将对象数组转换为字符串以存储在s3中
- 使用.join方法将数组转换为不带逗号的字符串