Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在函数内部存储数组与在对象内部存储数组相比,有什么好处吗_Javascript_Arrays_Object - Fatal编程技术网

Javascript 在函数内部存储数组与在对象内部存储数组相比,有什么好处吗

Javascript 在函数内部存储数组与在对象内部存储数组相比,有什么好处吗,javascript,arrays,object,Javascript,Arrays,Object,在函数中存储数组与在对象中存储数组相比,有什么好处吗?存储在这些数组中的值不会更改,但可能会有数千次查找。我想知道我现在是否应该切换到对象 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,

在函数中存储数组与在对象中存储数组相比,有什么好处吗?存储在这些数组中的值不会更改,但可能会有数千次查找。我想知道我现在是否应该切换到对象

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]
};

在代码中,每次调用函数时都会重新创建数组。如果基本上只对数组进行一次索引,那么这将是一个很大的开销


我并不完全清楚“存储在对象中”和“函数”是什么意思,但如果你这么说的意思是数组由一个重复使用而不是每次都重新创建的对象所拥有,那么是的,将首选对象方式。

是的,有两个主要改进:性能和代码易读性

性能:您不会每次都重新创建数组,使用散列键也不会检查每个键的相等性


代码易读性:这是保存数据的标准方法,因为它更易于阅读。遵循惯例。

内部对象为变量数组={1:[4,5,6,7,98,9341,82,36,44,5,55,6,3,66,77,452411444,1334],2:[83,2,3,4,5,6,7,8,9,11,22,33,44,5],3:[5,55,6,3,66,77,45241144,1,2];请编辑你的问题,包括代码:这是更容易阅读那里。我不是有意张贴。意外击中了回击。