我有一些JSON数据,其中我使用唯一标识符ID
定义预设,(您可以将其称为主键)。除了ID
之外,还定义了许多其他属性,包括somethingelse
。我想提取由其ID标识的特定记录的somethingelse
属性。我试过这个:
function getSomethingElse(id) {
return presets[id].somethingelse;
}
但很明显,上面的代码只能访问数组位置id
的预设。我试图访问实际ID为id
的预设。
这可能是一个愚蠢的问题,但我还没有找到任何我想要做的事情的例子!
答案 0 :(得分:2)
如果将ID用作主键,那么我建议将预设数据转换为散列映射而不是数组。
var presets= {};
presets["guid1"] = "hello"
presets["guid2"] = "world"
这应该与您发布的代码打算完全一致。
答案 1 :(得分:1)
假设$scope.presets
是一个数组,您需要迭代像
$scope.loadPreset(id) {
angular.forEach($scope.presets, function(value, key) {
if(value.id == id){
$scope.somethingelse = value.somethingelse;
}
});
}