言語の省略形を使用し、.constant
ディクショナリを使用して一致させるメソッドがあり、一致する言語名を返します。JavaScriptで.filterを使用して渡された値を評価する
.filter
で評価して、渡されたisoCode /言語の略語が存在するかどうかを確認するにはどうすればよいですか?ここで
は私の方法である:
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";
}
};
}]);
ありがとうございました。ここで
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;
};
}]);
は、いくつかのエラーは、私が試してみました引くと方法です!
)私はそれはあなたを助け願ってい
if (result === undefined) ...
で、この関数の結果をチェックする必要があります外に 'Languages'はあなたのサービス-辞書や任意の外部にありますか? – Antonio
オフトピック:JavaScriptでは "isoCode!= undefined"と "isoCode!= null"のどちらもまったく同じです。だからあなたはそれらの1つを落とすことは安全です。これは!=でしか動作しません!== –
@Antonio内部の定数辞書です。 – onmyway