Javascript *按升序进行强制打印

Javascript *按升序进行强制打印,javascript,html,angular,typescript,Javascript,Html,Angular,Typescript,我有一个试图在标记中显示的对象。但是*ng一直按升序打印。理想的结果是按元素的打印顺序打印元素。这是我的stackblitz代码,您可以为管道提供自定义比较功能 只需提供一个每次返回零的函数 customCompare(a、b){ 返回0; } *ngFor=“让key.value的key2 | keyvalue:customCompare;” 如API官方文件中所述: 输出数组将按键排序。默认情况下,比较器 将按Unicode点值进行设置 此管道还提供了一个可选功能参数,用于重新定义排序顺

我有一个试图在标记中显示的对象。但是*ng一直按升序打印。理想的结果是按元素的打印顺序打印元素。这是我的stackblitz代码,您可以为管道提供自定义比较功能

只需提供一个每次返回零的函数

customCompare(a、b){
返回0;
}
*ngFor=“让key.value的key2 | keyvalue:customCompare;”

如API官方文件中所述:

输出数组将按键排序。默认情况下,比较器 将按Unicode点值进行设置

此管道还提供了一个可选功能参数,用于重新定义排序顺序:

{{ input_expression | keyvalue [ : compareFn ] }}
(a: KeyValue, b: KeyValue) => number

更详细的信息

最好的方法是将对象转换为数组,这样可以保持所需的order@AlonYampolski不正确,转换数据比使用提供的管道要复杂得多“将对象或映射转换为键值对数组。@trichetriche不要忘记JSON属性的顺序可能会有所不同,因此最初认为它们将保持顺序的假设是不正确的。这就是为什么我建议在第一部分中使用数组(或嵌套数组)place@Alon如果它们不同,那是因为数据不同,这意味着用户/管理员可以控制数据并选择编辑它。他们将保留初始订单,前提是“初始”表示“未更改的数据”。有道理:)谢谢!