たとえば、次のようなものがあるとします。
var Constants = {
scope:{
namespaceA: { A_X: "TEST_AX" , A_Y: "TEST_AY" },
namespaceN: { N_X: "TEST_NX" , N_Y: "TEST_NY" }
}
_mapping: [],
getMapping: function(){...}
}
var flattenList = flatten(Constants.scope); //returns ["TEST_AX","TEST_AY","TEST_NX","TEST_NY"]
var anotherWayFlattened = flatten(Constants.scope.namespaceA,Constants.scope.namespaceB); //returns same result as above
編集: 1 つの方法は、for-each ループを介してスコープを反復処理することですが、もっとエレガントなものを探していましたか?
二重編集:わかりました、私はちょうど次のように何かをホイップしました:
var flattenedList = (function(list){
var flatList = []
$.each(list,function(i,items){
for(var p in items) flatList.push(items[p]);
})
return flatList;
})([Constants.scope.namespaceA,Constants.scope.namespaceB]);
しかし、特定のプロパティを渡すのを避けて、定数を渡して名前空間のリストを検索できるかどうか疑問に思っていました