0

我正在尝试通过 javascript 中的多维数组来将所有数字字符串更改为浮点数。我尝试使用 .length 函数,但我认为它不起作用。有没有办法可以使用它,或者我必须对 i 和 j 的限制进行硬编码?多维度数组采用 JSON 格式。

var entries = $.parseJSON('<?php print(json_encode($updatedata, true)); ?>');

for (var i = 0; entries.length; i++)
{
    for (var j = 0; entries[i].length; j++)
        {
            entries[i][j] = parseFloat(entries[i][j])
        }
}
4

3 回答 3

1

实际上,这是基于尼克的(我显然不能在评论中发布代码):

var entries = $.parseJSON('<?php print(json_encode($updatedata, true)); ?>');
var entriesArray = array();

for(var obj in entries) {
    for(var prop in obj) {
        if (!entriesArray[obj]) { entriesArray[obj] = []; }

        entriesArray[obj][prop] = parseFloat(obj[prop]);
    }
}
console.log(entriesArray);
于 2013-11-13T07:21:41.990 回答
0

我是新手 JSer,但我认为 $.parseJSON 返回一个对象,并且它们没有长度。要遍历对象的所有键,请使用 for in 语法。这可能有效...

var entries = $.parseJSON('<?php print(json_encode($updatedata, true)); ?>');
var entriesArray = array();

for(var obj in entries) {
    for(var prop in obj) {
        entriesArray[obj] = parseFloat(prop);
}
console.log(entriesArray);
于 2013-11-13T04:11:34.767 回答
0

我实际上认为我想通了。我更改了具有 entries[i].length 的部分并将其制成一个单独的数组,并在其上使用了 .length 函数。我不确定为什么会有所作为。不过感谢您的帮助。

var entries = $.parseJSON('<?php print(json_encode($updatedata, true)); ?>');
**var entriesArray = entries[0];**

for(var i = 0; i < entries.length; i++) 
{

    for(var j = 0; j < **entriesArray.length;** j++)
    {
        entries[i][j]= parseFloat(entries[i][j]);

    }
}
于 2013-11-13T04:58:03.337 回答