[英]Extracting numbers from array JavaScript
我有一个简单的JavaScript问题。 我试图从一个字符串中提取数字,其中有两行用'\\ n'分隔,每个数字都用','分隔。
首先,我想获得第一个,第二个,第三个,第四个和第五个数字。 在第二种情况下,我想要第一个和第六个数字。
到目前为止,我的代码:
var str = "1391,15,48,58,75,9300\n1687,76,65,23,34,9111";
var lines = str.split('\n');
$.each(lines, function () {
var items = str.split(',');
var foo = [],
bar = [],
foobar = str.length;
for (i = 0; i < foobar; i++) {
foo.push([parseFloat(str[i][0]),
parseFloat(str[i][1]),
parseFloat(str[i][2]),
parseFloat(str[i][3]),
parseFloat(str[i][4])
]);
bar.push([parseFloat(str[i][0]),
parseFloat(str[i][5])
]);
}
});
该代码不起作用。 我只会把垃圾扔掉。 我想念什么?
编辑:
为了补充Vergilius的答案,现在可以使用以下代码:
var str = "1391,15,48,58,75,9300\n1687,76,65,23,34,9111";
var lines = str.split('\n');
var foo = []; var bar = [];
for(var i = 0; i < lines.length; i++){
var items = lines[i].split(',');
foo.push([parseFloat(items[0]),
parseFloat(items[1]),
parseFloat(items[2]),
parseFloat(items[3]),
parseFloat(items[4])
]);
bar.push([parseFloat(items[0]),
parseFloat(items[5])
]);
}
var str = "1391,15,48,58,75,9300\n1687,76,65,23,34,9111",
lines = str.split('\n'), i, tmp, foo = [], bar = [];
for(i = 0; i <= lines.length - 1; i++) {
tmp = lines[i].split(',');
foo = tmp.filter(function(value, key) { if(key < 5) return true });
bar = tmp.filter(function(value, key) { if(key == 0 || key == 5) return true });
}
应该可以,但是您仍然需要解析项目(尝试使用另一个循环)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.