Javascript将一个表拆分为多个表
Javascript Splitting a table into multiple tables
我正在尝试一个由传入的JSON表创建的动态表。
JSON表遵循上面的格式:
[timestamp, value1, value2, value3, value4]
值的数量不是固定的,一个查询可以返回4个值,下一个可以返回5、6、7。。。表格在表格数据中
下面的代码试图创建另一个表,如下所示:
s[1] = [Timestamp, value1]
s[2] = [Timestamp, value2]
s[3] = [Timestamp, value3]
....
这是代码
var s = new Array();
for (var i = 0; i < data.length-1; i++) {
var myrow = String(data[i]);
var l = (myrow.match(/,/g) || []).length + 1
var myarr = myrow.split(",");
for (var j = 1; j < l; j++){
if (isNaN(s[j])) {
s[j] = new Array(2);
}
if (parseFloat(myarr[j]) != 0){
s[j].push([parseInt(myarr[0]), parseFloat(myarr[j])]);
}
}
但是当我执行这个代码时,我所有的s[j]都是NaN。
下面是我期望得到的一个例子:
//first iteration
data = ["1413370800000", "68.400580793576", "35.854875270197", "0"]
timestamp = 1413370800000
value1 = 68.400580793576
s[1] = [1413370800000, 68.400580793576]
timestamp = 1413370800000
value2 = 35.854875270197
s[2] = [1413370800000, 35.854875270197]
timestamp = 1413370800000
value3 = 0
s[3] = [1413370800000, 0]
//second iteration
data = ["1413356400000", "125.99187714667", "19.503481981345", "138.13301276328"]
s[1] = [[1413370800000, 68.400580793576], [1413356400000, 125.99187714667]]
s[2] = [1413370800000, 35.854875270197], [1413356400000, 19.503481981345]]
s[3] = [1413370800000, 0], [1413356400000, 138.13301276328]]
你能帮我吗?
感谢
这个怎么样:
data = ["1413370800000", "68.400580793576", "35.854875270197", "0"]
ts = new Date(parseInt(data.shift())); // or whatever...
data2 = data.map(function(x) {
return [ts, parseFloat(x)];
});
document.write(JSON.stringify(data2));
一般来说,Javascript迭代方法会产生比纯循环更简单、可读性更强的代码。
至于georg的答案,但使用for循环(并假设您希望字符串转换为数字):
data = ["1413370800000", "68.400580793576", "35.854875270197", "0"]
for (var i=1, data2=[]; i<data.length; i++) {
data2.push([+data[0], +data[i]]);
}
相关文章:
- 如何拆分一个整数和产生的所有数字来创建一个新数字
- 想要使用Javascript将一个JSON对象拆分为多个JSON对象
- 拆分一个“;“大”;表到较小的表
- 如何拆分一个字符串,然后将它们与另一个字符串匹配
- 拆分一个句子并使用JavaScript将其存储在数组中
- regex在JavaScript中拆分一个html字符串
- Regex-我需要在第一个数字后面拆分一个字符串
- angular js:将一个大型控制器拆分为多个文件
- 编写一个代码来拆分字符串“test”,并将Name的值分配给文本框,将ok的值分配到复选框
- 拆分一个 json 并使用 ng-repeat 角度指令显示它
- 拆分一个 JavaScript 项目
- 使用正则表达式每 n 行拆分一个字符串
- 如何拆分一个字符串,然后将第二个字符串(链接)嵌入到第一个字符串中
- 正则表达式:在空格上拆分一个字符串 + 每个要单独包含的特殊字符
- JavaScript如何在忽略ANSI代码的情况下每隔n个字符拆分一个字符串
- 用模块拆分一个大类
- 拆分一个HTML页面,在多个屏幕上显示不同的视图
- 是否有可能拆分一个<表单>标签横过页面
- 如何根据一定条件拆分一个由多个数组组成的数组
- 使用JavaScript从后面每隔3个字符拆分一个字符串