以下にコピーされる関数は、最初にパラメータ1、次に2でzオブジェクトをソートすることです。オブジェクトパラメータが非一意ではない整数の重複オブジェクトインスタンスを返します。この機能について根本的に間違っているのは何ですか? if(s)の後にはreturn 0;
で動作しません。 ありがとう!より詳細にdouble sortは重複を返します
z=[{object1},{object2},{object3},...,{objectN}];
z.sort(function(x,y){
if(x.param1-y.param1>0){return -1};
if(x.param1-y.param1<0){return 1};
if(x.param1-y.param1==0){
if(x.param2-y.param2>0){return -1};
if(x.param2-y.param2<0){return 1};
};
});
zは次のようになります
z=[{"level":0,"order":0,"t":"section","a":{"class":"ro s-14 m-3"}},
{"level":1,"order":0,"t":"h1","a":{"class":"tx-1 s-35"},"x":"This is a text"},
{"level":1,"order":1,"t":"div","a":{"class":"tx-0 m-3"}},
{"level":2,"order":0,"t":"h2","a":{"class":"tx-0 s-18"},"x":"This is a text"},
{"level":2,"order":1,"t":"h3","a":{"class":"tx-0 s-14 fw-3"}},
{"level":3,"order":0,"t":"li","x":"This is a text"},
{"level":3,"order":1,"t":"li","x":"This is a text"},
{"level":3,"order":2,"t":"li","x":"This is a text"},
{"level":3,"order":3,"t":"li","x":"This is a text"},
{"level":3,"order":4,"t":"li","x":"This is a text"},
{"level":3,"order":5,"t":"li","x":"This is a text"},
{"level":3,"order":6,"t":"li","x":"This is a text"},
{"level":3,"order":7,"t":"li","x":"This is a text"},
{"level":3,"order":8,"t":"li","x":"This is a text"},
{"level":2,"order":2,"t":"h4","x":"This is a text"},
{"level":1,"order":2,"t":"div","a":{"class":"tx-0 m-3"}},
{"level":2,"order":0,"t":"h2","x":"This is a text"},
{"level":2,"order":1,"t":"h3","a":{"class":"tx-0 s-12 fw-3"}},
{"level":3,"order":0,"t":"li","x":"This is a text"},
{"level":3,"order":1,"t":"li","x":"This is a text"},
{"level":3,"order":2,"t":"li","x":"This is a text"},
{"level":3,"order":3,"t":"li","x":"This is a text"},
{"level":3,"order":4,"t":"li","x":"This is a text"},
{"level":3,"order":5,"t":"li","x":"This is a text"},
{"level":3,"order":6,"t":"li","x":"This is a text"},
{"level":3,"order":7,"t":"li","x":"This is a text"},
{"level":3,"order":8,"t":"li","x":"This is a text"},
{"level":3,"order":9,"t":"li","x":"This is a text"},
{"level":3,"order":10,"t":"li","x":"This is a text"},
{"level":3,"order":11,"t":"li","x":"This is a text"},
{"level":2,"order":2,"t":"h4","x":"This is a text"},
];
あなたの最初の二つのIFS、そして最後の内側の2つのIFSブロックは同じを使用している場合異なる値を返します。私はあなたが '<'比較より小さい値をとることを意味すると思っています。 –
オブジェクトの実データを追加してください。 –
@PatrickEvansによれば、各グループの2番目の '> 'を' <'に変更する必要があります。また、最後に 'return 0'が必要です。ところで、 '== 0'をテストする必要はありません。それが0よりも小さくない場合、それは残りの可能性です。 – Barmar