我有一个包含大约 250 个条目的数组,每个条目都有自己的值数组。每个条目都是 map 上的一个点,每个数组保存以下信息:
姓名, 该点可以连接到的另一个点数组, 纬度, 经度, 名字的缩写, 一个 bool 值, 和另一个 bool 值
该数组是由我团队中的另一位开发人员编写的,他是这样编写的:
names[0]=new Array;
names[0][0]="Campus Ice Centre";
names[0][1]= new Array(0,1,2);
names[0][2]=43.95081811364498;
names[0][3]=-78.89848709106445;
names[0][4]="CIC";
names[0][5]=false;
names[0][6]=false;
names[1]=new Array;
names[1][0]="Shagwell's";
names[1][1]= new Array(0,1);
names[1][2]=43.95090307839151;
names[1][3]=-78.89815986156464;
names[1][4]="shg";
names[1][5]=false;
names[1][6]=false;
我个人可能会这样写:
var names = []
names[0] = new Array("Campus Ice Centre", new Array[0,1,2], 43.95081811364498, -78.89848709106445, "CIC", false, false);
names[1] = new Array("Shagwell's", new Array[0,1], 43.95090307839151, -78.89815986156464, 'shg", false, false);
当然,它们都工作得很好,但我想知道的是:
1) 实际处理过程中,一个比另一个花费更长的时间吗? 2)我是否错误地假设我的同一事物版本的紧凑性有好处?
我只是有点担心他的 3000 行代码与我的 3-400 行代码能否得到相同的结果。
预先感谢您的任何指导。
最佳答案
您真正想要做的是定义一个自定义数据类型,它可以更准确地表示您的数据。我不确定您使用的是什么语言,所以这里有一些伪代码:
class Location
{
double latitude;
double longitude;
String Name;
String Abbreviation;
bool flag1;//you should use a better name
bool flag2;
}
然后你可以创建一个数组来保存所有 Location 对象,它会更具可读性和可维护性。
Locations = new Array;
Locations[0] = new Location("Shagwell's",...);
....
===编辑===
因为你说你正在使用 javascript,那么最佳实践可能是将你的数据存储在 json 文本文件中,这样做的好处是从代码文件中删除数据,并且如果你愿意的话,可以有一个非常容易编辑的数据源进行更改。
你的 JSON 文件看起来像这样
[{"lat":"23.2323", "long":"-72.3", "name":"Shagwell's" ...},
{"lat":"26.2323", "long":"-77.3", "name":"loc2" ...},
...]
然后,您可以将 json 文本存储在网络服务器上可访问的位置(例如“data.json”),然后如果您使用 jquery,则可以通过执行以下操作来加载它:
$.getJSON("data.json", function(data) { //do something with the data});
关于javascript - 编写数组的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2815216/