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

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. shop++商品搜索出现乱码的解决方法
  2. vim的常用配置及使用方法
  3. 网络编程3之TCP/IP协议
  4. 【趣味分享】C#实现回味童年的24点算法游戏
  5. python字典_Python 字典
  6. iOS手势UIGustureRecognizer
  7. 新手攻略熔炉_我的世界攻略:生存模式新手攻略
  8. form提交xml文件
  9. 防163网易邮箱登录界面html,网易邮箱163,网易邮箱163登录界面
  10. Java个人职业规划目标改进_java个人职业发展方向规划范文
  11. 零线断了为什么会带电, 使验电笔氖管发光
  12. 微信小程序设置解锁密码
  13. LEAP模型能源与碳排放模型
  14. Top 7大开源数据可视化分析工具!
  15. 【C#】KPM算法解决字符串匹配问题
  16. 【读图】揭密大卖家们的钻展制作流程
  17. 科技云报道:5G商用倒计时,你关心的都在这儿
  18. new DecimalFormat(0.##)与new DecimalFormat(0.00)的区别
  19. 比较器(Comparable与Comparator接口)
  20. pythonelectron桌面开发案例_Web桌面应用框架1:Electron与WEB桌面应用程序开发及其它...

热门文章

  1. kali永久提root权限
  2. 萨满祭司专业技能100%全分析
  3. Python实现复数运算
  4. 浏览器(js)打开window程序
  5. 阴影(shadow mapping)(硬阴影)
  6. 微信小程序—自定义相机
  7. python的几次方_python 几次方
  8. 在verilog中#的用法
  9. Callable 接口实现java 的多线程
  10. SQL修改视图中列名和字段长度