我有一种方法需要一种语言缩写并使用.constant
字典将其匹配,并返回匹配的语言名称。在JavaScript中使用.filter评估传递的值
如何使用.filter
进行评估以检查传递的isoCode/language缩写是否存在?
这里是我的方法:
angular.module('portalDashboardApp')
.service('ISOtoLanguageService', ['Languages', function(Languages) {
this.returnLanguage = function(isoCode) {
var categoryObject = Languages.filter(function (categoryObject) {
return categoryObject.code === isoCode;
})[0];
return categoryObject.name;
};
}]);
下面是一些错误的方法捉我曾尝试:
angular.module('portalDashboardApp')
.service('ISOtoLanguageService', ['Languages', function(Languages) {
this.returnLanguage = function(isoCode) {
var categoryObject = Languages.filter(function (categoryObject) {
if (isoCode != null || isoCode != undefined) {
return categoryObject.code === isoCode;
}
else {
return categoryObject.code === 'und';
}
})[0];
if (categoryObject.name != undefined || categoryObject.name != null) {
return categoryObject.name;
}
else {
return "undefined";
}
};
}]);
谢谢!
'Languages'为您服务,词典或任何外部? – Antonio
焦虑问题:在JavaScript中“isoCode!= undefined”和“isoCode!= null”两者完全相同。所以你可以安全地放弃其中一个。这只适用于!=而不适用于!== –
@Antonio它是一个内部.constant字典。 – onmyway