工作中遇到一个需求:将从后端获取到的数据列表按指定的顺序渲染,指定的顺序也是从后端返回的:
const sortArr = [4, 6, 5, 1, 3, 2]; // 指定的id排列顺序,后端返回
const backendData = [{id: 1},{id: 2},{id: 3},{id: 4},{id: 5},{id: 6}]; // 后端返回的列表数据
// 期望结果 [{id:4},{id:6},{id:5},{id:1},{id:3},{id:2}];
洒家解决思路就是创建一个新数组,然后使用双循环遍历,把符合条件的item对象push进新数组里,代码如下:
const sortArr = [4, 6, 5, 1, 3, 2]; // 指定的id排列顺序,后端返回
const backendData = [{id: 1},{id: 2},{id: 3},{id: 4},{id: 5},{id: 6}]; // 后端返回的列表数据
// 期望结果 [{id:4},{id:6},{id:5},{id:1},{id:3},{id:2}];
let newArr = [];
sortArr.map((num) => {
backendData.map((item) => {
if (item.id === num) {
newArr.push(item);
}
});
});
console.log(newArr, "newArr");
希望这篇文章对你有帮助。如果你有更高效的解法,欢迎你在评论区留言讨论。
本文介绍了一种根据特定ID顺序重新组织后端数据列表的方法,并提供了一个简单的JavaScript实现案例,通过双重循环实现了新数组的构建。

327

被折叠的 条评论
为什么被折叠?



