blog

フロントエンドは、受信スクーリストによって送信リファレンスのリストをソートする。

ビジネスシナリオ例...

Jun 23, 2020 · 1 min. read
シェア

ビジネスシナリオ

特別な理由で、フロントエンドが複数のスクイッドでバックエンドのインターフェースをリクエストし、入力順にページをレンダリングする必要がある。バックエンドは特別な理由で入力順を提供できない。
行データがソートされて返される。ここでは、フロントエンドがバックエンドから返されたリストをフロントエンドの入力順にソートする必要がある。

代表例

フロントエンド入力 skus=[,,232]
バックエンドのインターフェースを要求するquerySkuList
バックエンドはリストを返す
skuList=[{skuid:258,title:" 258"}
,{skuid:254,title:" 254"}
,{skuid:256,title:" 256"}
,{skuid:255,title:" 255"}
,{skuid:232,title:" 232"}]
let skus = [,,232]
let skuList = [{skuid:258,title:" 258"}
 ,{skuid:254,title:" 254"}
 ,{skuid:256,title:" 256"}
 ,{skuid:255,title:" 255"}
 ,{skuid:232,title:" 232"}]
 // インデックスによる逆スカス
 let skusKeysort = {}
 for(let i = 0; i < skus.length; i++){
 skusKeysort[skus[i]] = i 
 }
 // skusKeysort価値は現在 {4: 2, 6: 1, 258: 3}
 //skuListをソートする
 skuList.sort((a,b)=>{
 return skusKeysort[b.skuid] - skusKeysort[a.skuid]
 })
 console.log(skuList) //パーフェクト・ソート
Read next