我正在使用Angular js,Lodash。因此,我正在调用一个API,该API具有如下所示的json数据。
[{ "_id":"zw",
"name":"Zimbabwe"
},
{ "_id":"au",
"name":"Australia"
},
{ "_id":"in",
"name":"India"
}]
我编写了一个函数来映射国家/地区完整形式的国家/地区代码。
$scope.CountryHashmap = _.reduce(res, function (hash, value) {
var key = value['_id'];
hash[key] = value['name'];
return hash;
}, {});
在放置_.reduce函数之后,下面是映射的数据:
{
"zw":"Zimbabwe",
"au":"Australia",
"in":"india"
}
在html页面中,我已经有国家/地区代码,所以我想输入国家/地区代码的全名。
HTML :
{{countryCode}}
国家代码,例如au,in和zw。
答案 0 :(得分:0)
如果要从$ scope.CountryHashmap获取名称,则$ scope.CountryHashmap从对象返回国家名称。
{{CountryHashmap[countryCode]}}
您还可以创建函数。
$scope.getName(code){
if(code)
return $scope.CountryHashmap[code];
}
不清楚您想要什么。 :P
答案 1 :(得分:0)
据我了解,只需将国家/地区代码key
传递到映射数据数组,例如mappedDataArr[key]
var app = angular.module("myApp", []);
app.controller("MyCtrl", function($scope) {
$scope.mappedDataArr = {
"zw":"Zimbabwe",
"au":"Australia",
"in":"india"
};
});
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="MyCtrl">
<span>{{ mappedDataArr['in'] }}</span>
</div>
</body>
</html>