循环数组数据

发布于 2024-11-02 20:34:11 字数 886 浏览 0 评论 0原文

我有这个代码来获取三个值。

 success: function(json){
                        $msg1 = parseFloat(json[0].valor1);
                        $msg2 = parseFloat(json[1].valor2);
                        $msg3 = parseFloat(json[2].valor3);
                    }

但现在假设我需要 200 个值。 我不会做 200 次...

                        $msg1 = parseFloat(json[0].valor1);
                        $msg2 = parseFloat(json[1].valor2);
                        $msg3 = parseFloat(json[2].valor3);
                        //...
                        $msg200 = parseFloat(json[199].valor200);

所以,我需要一个循环,对吗?

我尝试了类似的方法

                        for (i=0; i<200; i++) {
                        $msg(i+1) = parseFloat(json[i].valor(i+1));
                        i++;
                        }   

,但没有成功,

谢谢

i have this code to get three values.

 success: function(json){
                        $msg1 = parseFloat(json[0].valor1);
                        $msg2 = parseFloat(json[1].valor2);
                        $msg3 = parseFloat(json[2].valor3);
                    }

but now suppose that i need 200 values.
I'm not doing 200 times ...

                        $msg1 = parseFloat(json[0].valor1);
                        $msg2 = parseFloat(json[1].valor2);
                        $msg3 = parseFloat(json[2].valor3);
                        //...
                        $msg200 = parseFloat(json[199].valor200);

so, i need a loop, correct?

i tried something like this

                        for (i=0; i<200; i++) {
                        $msg(i+1) = parseFloat(json[i].valor(i+1));
                        i++;
                        }   

but didn't work

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

辞取 2024-11-09 20:34:11

这就是造物主赐予世界阵法的原因。

var msgs = [];
for (var i = 0; i < 200; ++i)
  msgs.push(parseFloat(json[i]['valor' + i]));

请注意,您的 JSON 数据还应该将这些“valor”属性保留为数组,尽管在 JavaScript 中您可以处理像上面示例中那样的奇怪命名方案。

编辑 - 哎呀,拼写错误已修复:-)

This is why The Creator gave the world arrays.

var msgs = [];
for (var i = 0; i < 200; ++i)
  msgs.push(parseFloat(json[i]['valor' + i]));

Note that your JSON data should also keep those "valor" properties as arrays, though in JavaScript you can deal with a bizarre naming scheme like that as in the example above.

edit — oops, typos fixed :-)

剩余の解释 2024-11-09 20:34:11
$msg = [];
for (var i=0; i<200; i++) {
    $msg.push(parseFloat(json[i]["valor"+i]));       
} 
$msg = [];
for (var i=0; i<200; i++) {
    $msg.push(parseFloat(json[i]["valor"+i]));       
} 
若相惜即相离 2024-11-09 20:34:11

正如Pointy或所说:

                var msgs = [];
                for (i=0; i<200; i++) {
                $msg[i] = parseFloat(eval('json[' + i + '].valor(' + i + '+1)'));
                i++;
                } 

然而eval很慢,所以Pointy的答案更好。

As stated by Pointy or:

                var msgs = [];
                for (i=0; i<200; i++) {
                $msg[i] = parseFloat(eval('json[' + i + '].valor(' + i + '+1)'));
                i++;
                } 

However eval is slow, so Pointy's answer is better.

千年*琉璃梦 2024-11-09 20:34:11
var array = json.someid;// or json['someid'];
// json is returned not an array
var msgs = [];
$.each(array, function(index, e) {
    msgs.push(parseFloat[e['valor' + index], 10); 
});

使用 parseFloat 时,请使用基数参数,除非您希望发生不好的事情;

例如,需要告诉 javascript 不要解析八进制;

var array = json.someid;// or json['someid'];
// json is returned not an array
var msgs = [];
$.each(array, function(index, e) {
    msgs.push(parseFloat[e['valor' + index], 10); 
});

when using parseFloat use the radix parameter unless you want bad things to happen;

javascript needs to be told for example not to parse octal;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文