在函数内存储数组与在对象中存储数组是否有任何好处?存储在这些数组中的值不会改变,但可能有数千个查找。我想知道我现在是否应该切换到对象。
function arrayFunc (arr) {
if(arr=='one'){
return [99,2,3,4,5,6,7,98,9,341,82,36,44,5,55,6,3,66,77,45,241,144,1,334];
}
else if(arr=='two'){
return [83,2,3,4,5,6,7,8,9,11,22,33,44,5,55,6,3,726,77,125,241,144,1,65];
}
else if(arr=='three'){
return [64,2,56,95,5,544,7,8,9,11,22,33,44,5,55,6,3,66,77,45,241,144,1,2];
}
};
var x=arrayFunc('two')[index];
按对象我的意思是这样的
var arrayObj = {
one:[99,2,3,4,5,6,7,98,9,341,82,36,44],
two: [83,2,3,4,5,6,7,8,9,11,22,33],
three: [64,2,56,95,5,544,7,8,9,11,22]
};
答案 0 :(得分:2)
是的,有两项重大改进:性能和代码易读性。
性能:您不会每次都重新创建数组,并且使用散列键不会检查每个键上的相等性。
代码易读性:这是保存数据的标准方法,因为它更易于阅读。遵循惯例。
答案 1 :(得分:0)
在您的代码中,每次调用函数时都会重新创建数组。如果你基本上将数据索引一次,那么这是一个很大的开销。
对我来说,存储在对象与函数中的含义并不完全清楚,但如果你这意味着数组由一个重复使用的对象拥有而不是每个都重新创建时间,然后是,对象方式将是首选。