按特定顺序对对象进行排序—Angular
Ordering the objects in a particular order - Angular
我有一个对象的对象。我想以特定的顺序显示对象及其值。(不是按字母顺序)
我如何用angular实现这一点?这是我的样品对象
var filters = {
language : { someProperty : "prop1", someOther : "prop2" },
country : { resumeProp : "prop", resumeProp2 : false },
destination { resumeProp : "prop", resumeProp2 : false },
};
我想安排示例目的地,国家和语言。
JavaScript对象根据定义是无序的(请参阅ECMAScript语言规范,第4.3.3节)。语言规范甚至不能保证,如果您连续两次迭代对象的属性,它们第二次会以相同的顺序出现。
如果需要订购,请使用数组和Array.prototype.sort
方法:
var filters = [
{ name: "language", order: 2, someProperty : "prop1", someOther : "prop2" },
{ name: "country", order: 1, resumeProp : "prop", resumeProp2 : false },
{ name: "destination", order: 0, resumeProp : "prop", resumeProp2 : false }
];
function compare(a,b) {
if (a.order < b.order)
return -1;
else if (a.order > b.order)
return 1;
else
return 0;
}
filters.sort(compare); // destination, country, language
如果您在ES6中进行编码,则可以使用Map对象,该对象类似于object并保证密钥顺序。
如果原始对象无法修改,则
使用对象的索引创建另一个数组,如
var filtersKey = ['destination', 'country', 'language'];
在该数组上运行ng repeat。
使用
filters[value]
从原始对象获取值,其中value
表示ng repeat暴露的filtersKey中包含的每个字符串。
相关文章:
- 按特定顺序对对象进行排序—Angular
- AngularJS剑道网格绑定到angular服务webapi-当使用[fromuri]进行解析时,排序总是为null
- Angular中的函数调用后,表失去排序
- 在 Angular 中对许多相同的表进行排序
- 使用Angular排序到单独的列表中
- 跳过 Angular JS 中的 ng-repeat JSON 排序
- Angular Js 在排序后卡在插入数组值
- 使用 Angular JS 对内容进行排序
- 如何在Angular.js中按翻译内容排序ng重复
- 需要在 Angular JS 应用程序中根据索引对对象列表进行重新排序
- 如何访问Angular UI网格中已排序的行
- Angular JS-使用地理位置对集合进行排序
- 如何将desIndex绑定到angular ui树中的排序值
- 预排序数据或Angular orderBy哪个性能更好
- 使用angular ui sortable和angular fire可以在排序时将新订单保存到数据库中
- Angular Datatable未使用列重新排序进行筛选
- 在angular js中,有没有办法对函数的执行顺序进行排序?
- 如何在ng-repeat中使用嵌套对象将数据排序为angular js中的JSON数据
- 如何在angular js中使用自定义排序顺序对对象排序
- Angular e2e的排序和它的block