ExtJS 5 - 如何将对象转换为 Collection/MixedCollection/HashMap?
ExtJS 5 - How to convert Object to Collection/MixedCollection/HashMap?
我有一个对象,我想对其执行 add/remove/find 操作。所以我只是尝试使用 Ext.util.Collection/Ext.util.MixedCollection/Ext.util.HashMap [=34= 将该对象转换为 HashMap/Collection 对象].因为它已经是一个对象我只想执行类型转换?在 ExtJS 中是否有一个直接的选项可以实现这一点?
我目前正在使用以下实用方法来实现这一点。除了这个还有其他更好的选择吗?
原始对象:-
Object {abbreviateValues: true, category: "P", charCode: 13092,charDescription: Array[5], charId: 13092…}
实用方法:-
convertObjectToCollection: function(rawObject){
var hashMapObject = Ext.create('Ext.util.HashMap');
for(var key in rawObject) {
hashMapObject.add(key,rawObject[key]);
}
return hashMapObject;
}
谢谢!
没有内置方法。您可以添加到 HashMap 以使其更干净:
Ext.require('Ext.util.HashMap', function() {
Ext.util.HashMap.fromObject = function(o) {
var map = new Ext.util.HashMap(),
key;
for (key in o) {
map.add(key, o[key]);
}
return map;
}
});
Ext.util.HashMap.fromObject({foo: 1, bar: 2});
在您真的不需要单独的实用程序之后,简洁就是您的全部 - 至少在小范围内:
var obj = { foo: 1, bar: 2, baz: 3 },
map = Ext.create('Ext.util.HashMap');
Ext.iterate(obj, map.add, map);
我有一个对象,我想对其执行 add/remove/find 操作。所以我只是尝试使用 Ext.util.Collection/Ext.util.MixedCollection/Ext.util.HashMap [=34= 将该对象转换为 HashMap/Collection 对象].因为它已经是一个对象我只想执行类型转换?在 ExtJS 中是否有一个直接的选项可以实现这一点?
我目前正在使用以下实用方法来实现这一点。除了这个还有其他更好的选择吗?
原始对象:-
Object {abbreviateValues: true, category: "P", charCode: 13092,charDescription: Array[5], charId: 13092…}
实用方法:-
convertObjectToCollection: function(rawObject){
var hashMapObject = Ext.create('Ext.util.HashMap');
for(var key in rawObject) {
hashMapObject.add(key,rawObject[key]);
}
return hashMapObject;
}
谢谢!
没有内置方法。您可以添加到 HashMap 以使其更干净:
Ext.require('Ext.util.HashMap', function() {
Ext.util.HashMap.fromObject = function(o) {
var map = new Ext.util.HashMap(),
key;
for (key in o) {
map.add(key, o[key]);
}
return map;
}
});
Ext.util.HashMap.fromObject({foo: 1, bar: 2});
在您真的不需要单独的实用程序之后,简洁就是您的全部 - 至少在小范围内:
var obj = { foo: 1, bar: 2, baz: 3 },
map = Ext.create('Ext.util.HashMap');
Ext.iterate(obj, map.add, map);