业务场景
因为特殊原因前端需要多skuid进行请求后端接口,并且以入参顺序进行页面渲染。而后端由于特殊原因无法提供入参顺序进
行数据排序返回。这里需要前端把后端返回的list按照前端入参顺序进行排序。
示例
前端入参 skus=[255,256,254,258,232]
请求后端接口querySkuList
后端返回list(顺序随机)
skuList=[{skuid:258,title:"商品258"}
,{skuid:254,title:"商品254"}
,{skuid:256,title:"商品256"}
,{skuid:255,title:"商品255"}
,{skuid:232,title:"商品232"}]
let skus = [255,256,254,258,232]
let skuList = [{skuid:258,title:"商品258"}
,{skuid:254,title:"商品254"}
,{skuid:256,title:"商品256"}
,{skuid:255,title:"商品255"}
,{skuid:232,title:"商品232"}]
// 把skus进行按索引反转
let skusKeysort = {}
for(let i = 0; i < skus.length; i++){
skusKeysort[skus[i]] = i
}
// skusKeysort值 现在为 {232: 4, 254: 2, 255: 0, 256: 1, 258: 3}
//把skuList进行排序
skuList.sort((a,b)=>{
return skusKeysort[b.skuid] - skusKeysort[a.skuid]
})
console.log(skuList) //完美排序