繁体   English   中英

将数据保存为对象还是数组?

[英]saving data as object or array?

我有一些数据

4 0.128 0.039
5 0.111 0.037
6 0.095 0.036

我需要通过已知的第一个值来获取第二个和第三个值。 如果我的值为4我想取回两个变量: a = 0.111b = 0.037

为了简单地访问数据,存储上面显示的数据的最佳变量类型是什么? 对象还是多维数组?

为了便于访问,我将使用包含数组的对象:

{
    '4': [ 0.128, 0.039 ],
    '5': [ 0.111, 0.037 ],
    ... 
}

在数组上使用对象的第二个原因是易于迭代。 想象一下:

var myData = [];
myData[4]  = [ 0.128, 0.039 ];
myData[10] = [ 42, 23 ];

for (var i = 0; i < myData.length; i++)
{
    console.log(myData[i]);
}

会给你

null
null
null
null
[ 0.128, 0.039 ]
null
null
null
null
null
[ 42, 23 ]

...这可能不是您想要的;)

您想要做的就是将其另存为json对象或数组,如下所示:

创建:

var obj = { "4":[0.128, 0.039], "5":[0.111, 0.037],"6":[0.095, 0.036] }

检索:

obj.4 -> [0.128, 0.039] OR obj['4'] OR obj[0]
obj.5[0] -> 0.111 OR obj['5'][0] OR obj[1][0]
obj.5[1] -> 0.037 OR obj['5'][1] OR obj[1][1]

在检索到的obj中循环:

for (var key in obj) {
    alert(obj[key]); 
}

如果元素的顺序很重要,我个人使用数组,否则我使用对象(对象不适合保留顺序)。

  • 数组带有诸如push(),pop(),sort(),splice()之类的方法。
  • 如果您具有唯一键,则对象是好的。

最后,归结为您要完成的工作的最佳工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM