工作中遇到一个需求:将从后端获取到的数据列表按指定的顺序渲染,指定的顺序也是从后端返回的:

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");

希望这篇文章对你有帮助。如果你有更高效的解法,欢迎你在评论区留言讨论。

JS将对象数组按指定顺序排列相关推荐

  1. js 删除对象数组中指定元素

    操作对象数组中指定条件的元素: 例: let arr = [{createDate: "2021-03-20",id: 1 }, {createDate: "2021-0 ...

  2. js获取对象数组中指定属性值对象_3分钟学会操作JavaScript内置对象,快来试试吧...

    1 - 内置对象 1.1 内置对象 JavaScript 中的对象分为3种:自定义对象 .内置对象. 浏览器对象. 前面两种对象是JS 基础 内容,属于 ECMAScript: 第三个浏览器对象属于 ...

  3. js ajax传对象数组参数,JS传递对象数组为参数给后端,后端获取

    JS传递对象数组为参数给后端,后端获取. 前端JS代码: var conditons = []; var test1 = new Object(); test1.name="1"; ...

  4. php 获取js对象的属性值,js获取对象,数组所有属性键值(key)和对应值(value)的方法示例...

    本文实例讲述了js获取对象,数组所有属性键值(key)和对应值(value)的方法.分享给大家供大家参考,具体如下: var values=function(object) { var values ...

  5. js获取对象数组中的id集合

    js获取对象数组中的id集合 const ids = Array.from(this.checkList,({ id }) => id); // ["16921C72E0C64002& ...

  6. js中对象数组根据对象id分组并转map

    js中对象数组根据对象id分组并转map 如果要将具有相同 id 属性的对象元素,分成不同的数组. 可以先从对象数组中提取相同的 id 属性,再使用 Array.reduce() 和 Map 来进行对 ...

  7. js计算对象数组中某个属性合计

    js 计算对象数组中某个属性合计 countTotal调用示例: let arr = [{id: 0, price: 199.88},{id: 1, price: 299.88},{id: 2, pr ...

  8. html数组删除指定元素,js怎么删除数组中指定元素?

    js中删除数组中指定元素的方法:首先通过循环遍历该数组得到指定元素的索引值,然后根据索引值使用splice()方法即可删除元素,语法"array.splice(索引值,1)". J ...

  9. JS 移除数组中指定索引项

    JS移除数组中的指定的索引的项: ////移除指定索引的对象Array.prototype.remove = function (dx) {if (isNaN(dx) || dx > this. ...

最新文章

  1. sql server 经典SQL——分组统计
  2. 丢包和网络延迟对网络性能的影响
  3. HTML表格中的nowrap
  4. ACE proactor example
  5. KubeCon 改为线上举办 | 云原生生态周报 Vol. 48
  6. c++如何获取文件时间_如何在Windows 10上获取文件或文件夹的所有权
  7. unity 是厘米还是米_乔丹19岁才1.75米,2年增高近20公分,这个长高方法你能坚持多久...
  8. mysql语句中变量 c#_C#基础知识-您的第一个C#程序,类型和变量以及流控制语句...
  9. Android 关于后台杀死App之后改变服务器状态的一些尝试
  10. .NET轻量级任务管理类
  11. 《每日一剂》适配器刷新报错adapter.notifyDataSetChanged()解决
  12. 喜欢使用VMware的.net程序员要注意呀(Visual Studio启动不了的问题)
  13. ORBSLAM关键帧的筛选和插入
  14. mongodb日志分析工具mtools之mplotqueries
  15. DEVC使用问题集锦
  16. CalBioreagents丨艾美捷丨ACTH N端单克隆抗体
  17. 科目二上车前的基础说明
  18. Wireshark 解析PDCP-LTE
  19. 计算机数字媒体专业毕业论文,数字媒体艺术专业毕业论文
  20. 复制微信好友发来的代码

热门文章

  1. 分享一个可以下载网页上视频软件(IDM 6.33.2)下载器
  2. API 测试利器 WireMock
  3. 实操手册:如何在GKE上部署HTTP(S) Load Balancer及容器应用程式
  4. 译书《物联网实战指南》出版 | 新成就:翻译自己的英文简介
  5. 交换机端口隔离功能的使用意义
  6. JAVA——实现各国中英文名称互译功能的查询程序
  7. BLOB/TEXT column ‘sup_content‘ used in key specification without a key length
  8. [Excel函数] VLOOKUP函数
  9. flutter enum枚举型
  10. HSG1510轻便式移动工作灯