Javascript 按主键选择记录

Javascript 按主键选择记录,javascript,json,Javascript,Json,我有一些JSON数据,其中我使用唯一标识符ID(可以称之为主键)定义了预设。除了ID之外,还定义了一系列其他属性,包括somethingelse。我想提取特定记录的somethingelse属性,该属性由其ID标识。我尝试了以下操作: function getSomethingElse(id) { return presets[id].somethingelse; } 但是显然,上面的代码将只访问带有数组位置id的预设。我正在尝试访问预设,其中实际ID为ID 这可能是一个愚蠢的问题,

我有一些JSON数据,其中我使用唯一标识符
ID
(可以称之为主键)定义了预设。除了
ID
之外,还定义了一系列其他属性,包括
somethingelse
。我想提取特定记录的
somethingelse
属性,该属性由其ID标识。我尝试了以下操作:

function getSomethingElse(id) {
    return presets[id].somethingelse; 
}
但是显然,上面的代码将只访问带有数组位置
id
的预设。我正在尝试访问预设,其中实际ID为
ID


这可能是一个愚蠢的问题,但我还没有找到任何我正在尝试做的例子

假设
$scope.presets
是一个数组,则需要迭代对象,如

$scope.loadPreset(id) {
    angular.forEach($scope.presets, function(value, key) {
        if(value.id == id){
            $scope.somethingelse = value.somethingelse; 
        }         
    });
}

假设
$scope.presets
是一个数组,则需要迭代对象,如

$scope.loadPreset(id) {
    angular.forEach($scope.presets, function(value, key) {
        if(value.id == id){
            $scope.somethingelse = value.somethingelse; 
        }         
    });
}

假设
$scope.presets
是一个数组,则需要迭代对象,如

$scope.loadPreset(id) {
    angular.forEach($scope.presets, function(value, key) {
        if(value.id == id){
            $scope.somethingelse = value.somethingelse; 
        }         
    });
}

假设
$scope.presets
是一个数组,则需要迭代对象,如

$scope.loadPreset(id) {
    angular.forEach($scope.presets, function(value, key) {
        if(value.id == id){
            $scope.somethingelse = value.somethingelse; 
        }         
    });
}

如果ID用作主键,那么我建议将预设数据转换为hashmap,而不是数组

var presets= {};
presets["guid1"] = "hello"
presets["guid2"] = "world"

这应该完全符合您发布的代码的意图。

如果ID用作主键,那么我建议将您的预设数据转换为hashmap,而不是数组

var presets= {};
presets["guid1"] = "hello"
presets["guid2"] = "world"

这应该完全符合您发布的代码的意图。

如果ID用作主键,那么我建议将您的预设数据转换为hashmap,而不是数组

var presets= {};
presets["guid1"] = "hello"
presets["guid2"] = "world"

这应该完全符合您发布的代码的意图。

如果ID用作主键,那么我建议将您的预设数据转换为hashmap,而不是数组

var presets= {};
presets["guid1"] = "hello"
presets["guid2"] = "world"

这应该完全符合您发布的代码的意图。

如果您的预设是hashmap/对象,则可以使用相同语法的ID访问该项目。我明白了,感谢您澄清数组/对象的误解!如果您的预设是hashmap/对象,那么ID可以使用相同的语法访问该项。我明白了,感谢您澄清数组/对象的误解!如果您的预设是hashmap/对象,那么ID可以使用相同的语法访问该项。我明白了,感谢您澄清数组/对象的误解!如果您的预设是hashmap/对象,那么ID可以使用相同的语法访问该项。我明白了,感谢您澄清数组/对象的误解!谢谢,您的答案显然是正确的,但在本例中@mccainz更有用,因为它澄清了数组/对象的误解。谢谢,您的答案显然是正确的,但在本例中@mccainz更有用,因为它澄清了数组/对象的误解。谢谢,您的答案显然是正确的,但在本例中@mccainz更有用,因为它澄清了数组/对象的误解。谢谢,您的答案显然是正确的,但在本例中@mccainz更有用,因为它澄清了数组/对象的误解。