JS将对象数组按指定顺序排列
工作中遇到一个需求:将从后端获取到的数据列表按指定的顺序渲染,指定的顺序也是从后端返回的:
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将对象数组按指定顺序排列相关推荐
- js 删除对象数组中指定元素
操作对象数组中指定条件的元素: 例: let arr = [{createDate: "2021-03-20",id: 1 }, {createDate: "2021-0 ...
- js获取对象数组中指定属性值对象_3分钟学会操作JavaScript内置对象,快来试试吧...
1 - 内置对象 1.1 内置对象 JavaScript 中的对象分为3种:自定义对象 .内置对象. 浏览器对象. 前面两种对象是JS 基础 内容,属于 ECMAScript: 第三个浏览器对象属于 ...
- js ajax传对象数组参数,JS传递对象数组为参数给后端,后端获取
JS传递对象数组为参数给后端,后端获取. 前端JS代码: var conditons = []; var test1 = new Object(); test1.name="1"; ...
- php 获取js对象的属性值,js获取对象,数组所有属性键值(key)和对应值(value)的方法示例...
本文实例讲述了js获取对象,数组所有属性键值(key)和对应值(value)的方法.分享给大家供大家参考,具体如下: var values=function(object) { var values ...
- js获取对象数组中的id集合
js获取对象数组中的id集合 const ids = Array.from(this.checkList,({ id }) => id); // ["16921C72E0C64002& ...
- js中对象数组根据对象id分组并转map
js中对象数组根据对象id分组并转map 如果要将具有相同 id 属性的对象元素,分成不同的数组. 可以先从对象数组中提取相同的 id 属性,再使用 Array.reduce() 和 Map 来进行对 ...
- js计算对象数组中某个属性合计
js 计算对象数组中某个属性合计 countTotal调用示例: let arr = [{id: 0, price: 199.88},{id: 1, price: 299.88},{id: 2, pr ...
- html数组删除指定元素,js怎么删除数组中指定元素?
js中删除数组中指定元素的方法:首先通过循环遍历该数组得到指定元素的索引值,然后根据索引值使用splice()方法即可删除元素,语法"array.splice(索引值,1)". J ...
- JS 移除数组中指定索引项
JS移除数组中的指定的索引的项: ////移除指定索引的对象Array.prototype.remove = function (dx) {if (isNaN(dx) || dx > this. ...
最新文章
- shop++商品搜索出现乱码的解决方法
- vim的常用配置及使用方法
- 网络编程3之TCP/IP协议
- 【趣味分享】C#实现回味童年的24点算法游戏
- python字典_Python 字典
- iOS手势UIGustureRecognizer
- 新手攻略熔炉_我的世界攻略:生存模式新手攻略
- form提交xml文件
- 防163网易邮箱登录界面html,网易邮箱163,网易邮箱163登录界面
- Java个人职业规划目标改进_java个人职业发展方向规划范文
- 零线断了为什么会带电, 使验电笔氖管发光
- 微信小程序设置解锁密码
- LEAP模型能源与碳排放模型
- Top 7大开源数据可视化分析工具!
- 【C#】KPM算法解决字符串匹配问题
- 【读图】揭密大卖家们的钻展制作流程
- 科技云报道:5G商用倒计时,你关心的都在这儿
- new DecimalFormat(0.##)与new DecimalFormat(0.00)的区别
- 比较器(Comparable与Comparator接口)
- pythonelectron桌面开发案例_Web桌面应用框架1:Electron与WEB桌面应用程序开发及其它...