Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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_Oop - Fatal编程技术网

Javascript 存储信息对象与阵列?

Javascript 存储信息对象与阵列?,javascript,oop,Javascript,Oop,在存储值集的情况下,对象真的应该在Javascript中使用吗?在本例中,我不认为使用对象比使用数组有什么优势。虽然逻辑决定了它唯一的偏好,但我无法摆脱那种感觉,那就是有什么我看不到的东西 这是我的例子。 假设我们有很多车,每辆车都包含特定格式的数据: { model: ''; color: ''; max_speed: ''; } 我们有几个函数,对于这些函数,有点简洁的伪代码是: function compareCarSpeeds(a, b){ if a i

在存储值集的情况下,对象真的应该在Javascript中使用吗?在本例中,我不认为使用对象比使用数组有什么优势。虽然逻辑决定了它唯一的偏好,但我无法摆脱那种感觉,那就是有什么我看不到的东西

这是我的例子。 假设我们有很多车,每辆车都包含特定格式的数据:

{
    model: '';
    color: '';
    max_speed: '';
}
我们有几个函数,对于这些函数,有点简洁的伪代码是:

function compareCarSpeeds(a, b){
    if a is faster than b then
        return a
    else
        return b
}

function findFastestCar(){
    loop through all cars and return car with greatest speed
}
OOP的方法是为car创建一个对象,可能将CompareCarSpeed转换为原型


而数组的方法是创建一个二维数组,其中一个维度是汽车列表,第二个维度是每辆汽车内部的数据集。

在阅读代码时,更容易理解:并知道变量包含哪些汽车[0]。max_speed或cars[0][2]。实际上数组是对象,js中的所有东西基本上都是对象,所以无论我做什么,我都无法逃避使用对象?那我想真的没什么区别我认为这是对的。因为您可以定义一个对象var obj={first:value};先做obj,@giannischristofakis你也可以做[].foo=bar,还有。。。但是,这两个例子都不推荐。我的一般建议是:数组应该用于统一数据,或者如果顺序很重要的话。对象应用于异构数据。