【study】给接口返回的数据排序

172 阅读1分钟
   <script>

        // 将res里面id的顺序,按照list里面key的顺序排序

        // res顺序: 李钟硕 黄明昊 权志龙

        // list顺序(应该输出的顺序): 黄明昊 权志龙 李钟硕 
        const res = [            
            {
                id: 'lizhongshuo',
                value: '李钟硕'
            },
            {
                id: 'huangminghao',
                value: '黄明昊'
            },
            {
                id: 'quanzhilong',
                value: '权志龙'
            },
        ]
        
        const list = [
            {
                key: 'huangminghao'
            },
            {
                key: 'quanzhilong'
            },
            {
                key: 'lizhongshuo'
            },
        ]
        

        const arr = res.reduce((prev,next)=> {
            prev[next.id] = next
            return prev;
        },[])

        const newArr = list.reduce((prev,next)=> {
            const obj = {
                prop: next.key,
                value: arr[next.key].value
            }
            prev.push(obj);
            return prev;
        },[])

        console.log(newArr)

    </script>