js双层循环拿到二层循环的index值

2023-11-13

情景描述 :多个房间,每个房间的人数不尽相同。后端获取的数据格式是根据房间走的,如:

data: [
	{
		roomNo: '201',
		...
		guestList: [
			{
				name: '张三',
				...
			},
			{
				name: '李四',
				...
			}
		],
	},
	{
		roomNo: '202',
		...
		guestList: [
			{
				name: '张三三',
				...
			},
			{
				name: '李四四',
				...
			},
			{
				name: '王五五',
				...
			},
		],
	},
	{
		roomNo: '203',
		...
		guestList: [
			{
				name: '赵六',
				...
			}
		],
	}
]

需求就是要给房间每个人自动发一张券,券跟房间和人数走(201两人即券1和券2;202三人即券1和券2以及券三)。

信息分析:1. 房间人数不固定;2. 券是根据房间及人数走的,而不是单纯根据房间数或者人数走的;

结论方法:将每个房间的人全部遍历出来重新组成一个数组数据。

let arr = body.data;  // 接收后端数据
let arr1 = [];		  // 用以接收处理后的数据
arr.forEach((i, j) => {
	i.guestList((m, n) => {
		// let indexNu = n+1; 这样写是只获取到n最后一个值
		arr1.push({
			indexNum: n+1,		// 获取房间内人数序号,由于券序号从1开始,故+1
			...i,
		});
	})
});
// 得到的数据结构
arr1 = [
	{
		roomNo: '201',
		indexNum: 1,
		...
		guestList: [
			{
				name: '张三',
				...
			},
			{
				name: '李四',
				...
			}
		],
	},
	{
		roomNo: '201',
		indexNum: 2,
		...
		guestList: [
			{
				name: '张三',
				...
			},
			{
				name: '李四',
				...
			}
		],
	},
	{
		roomNo: '202',
		indexNum: 1,
		...
		guestList: [
			{
				name: '张三三',
				...
			},
			{
				name: '李四四',
				...
			},
			{
				name: '王五五',
				...
			},
		],
	},
	{
		roomNo: '202',
		indexNum: 2,
		...
		guestList: [
			{
				name: '张三三',
				...
			},
			{
				name: '李四四',
				...
			},
			{
				name: '王五五',
				...
			},
		],
	},
	{
		roomNo: '202',
		indexNum: 3,
		...
		guestList: [
			{
				name: '张三三',
				...
			},
			{
				name: '李四四',
				...
			},
			{
				name: '王五五',
				...
			},
		],
	},
	{
		roomNo: '203',
		indexNum: 1,
		...
		guestList: [
			{
				name: '赵六',
				...
			}
		],
	}
]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

js双层循环拿到二层循环的index值 的相关文章

随机推荐

  • 删除 Ceph 集群里的某个节点的全部OSD (2 of 3)

    前言 如果你的ceph集群的数据只存在在该节点的所有OSD上 删除该节点的OSD会导致数据丢失 如果集群配置了冗余replication或者EC 需要做pg 修复 出于数据安全考虑 请一定 一定 一定 备份好你要删除的OSD上的数据 这里一
  • css学习——三种基本选择器

    选择器 选择某一个或某一类元素 基本选择器 标签选择器 标签选择器会选择页面上所有的这个标签的元素 类选择器 class
  • C语言经典100例题(55)--从一个整数a中把从右端开始的4-7位取出来

    目录 题目 问题分析 右移操作符 左移操作符 方法一 方法二 运行结果 题目 用c语言从一个整数a中把从右端开始的4 7位取出来 问题分析 右移操作符 右移操作符是一种位运算符 用于将二进制数向右移动指定的位数 它通常用符号 gt gt 表
  • 哪一类功率放大电路效率最高_让我们来复习一下功率放大电路与集成运算放大电路...

    功率放大电路 一 功率放大电路的三种工作状态 1 甲类工作状态 导通角为360度 ICQ大 管耗大 效率低 2 乙类工作状态 ICQ 0 导通角为180度 效率高 失真大 3 甲乙类工作状态 导通角为180o 360o 效率较高 失真较大
  • springboot整合Thymeleaf

    springboot的简化配置 在springboot中 视图解析器等注册都不需要我们做了 因为springboot都默认帮我们做了 只要我们将Thymeleaf maven依赖添加到项目的pom文件下 就启用了SpringBoot的自动配
  • go语言的Hash算法

    Hash project main go package main import C import crypto md5 crypto sha1 crypto sha256 crypto sha512 io ioutil unsafe fm
  • Mac 系统升级后 idea 提示Cannot run Git Couldn‘t install Git

    终端输入 git hepl 报错 xcrun error invalid active developer path Library Developer CommandLineTools missing xcrun at Library D
  • 函数的认识

    文章目录 函数是什么 库函数 自定义函数 函数参数 函数调用 函数的嵌套调用和链式访问 函数的声明和定义 函数递归 一 函数是什么 维基百科中对函数的定义 子程序 在计算机科学中 子程序 英语 Subroutine procedure fu
  • 至简原生与webview交互逻辑演示

    var callbackstack var callbackId 0 function getToken callbackId return new Promise rs rj gt window android postToNative
  • Linux系统上安装Vmware Workstation

    系统平台 RHEL6 1 X86 32bit 软件版本 VMware Workstation Full 8 0 0 471780 i386 bundle 说明 适用于其他平台 其他VMware Workstation版本 安装完成后要运行虚
  • 解决使用VS2015新建QT界面之后cpp文件提示“不允许使用不完整的类型”问题

    解决使用VS2015新建QT界面之后cpp文件提示 不允许使用不完整的类型 问题 问题描述 分析解决过程 总结 问题描述 分析解决过程 检查了半天跟另外一个文件的结构是一模一样的 只是类名不一样 网上找了很多方式都不行 真是让我脑热 后面我
  • 微信提示在客户端提交验证_微信提示非常用设备登陆需输入短信验证码的解决方法...

    已绑定邮箱 1 已设置独立密码 请您直接通过微信号 独立密码登录即可 2 未设置独立密码 可通过以下两种方式设置独立密码后登录 1 请您可以在登录界面输入微信号 点击 忘记密码 通过手机号验证码或邮箱重设密码 2 通过电脑登录weixin
  • C语言:运算表达式

    目录 一 赋值运算符与赋值表达式 二 逗号运算符和逗号运算符 三 关系运算符和关系表达式 四 逻辑运算符和逻辑表达式 五 条件运算符和条件表达式 六 scanf错误解决 七 总结 一 赋值运算符与赋值表达式 变量 表达式 特点 自右向左 a
  • rsync备份

    Rsync的特点和优点 可以镜像保存整个目录树和文件系统 可以很容易做到保持原来文件的权限 时间 软硬链接等等 无须特殊权限即可安装 快速 第一次同步时 rsync 会复制全部内容 但在下一次只传输修改过的文件 压缩传输 rsync 在传输
  • xss检测工具XSStrike

    一 下载安装 下载地址 https github com s0md3v XSStrike最新版支持python3windows linux系统都可以运行完成下载之后 进入XSStrike目录 cd XSStrike接下来使用如下命令安装依赖
  • Quartus II建立新工程流程,Quartus如何建立工程?

    在用Quartus Quartus Prime 18 0 Standard Edition开发一个项目时 首先要建立一个工程文件 这个工程文件包含了项目设计过程中生成的所有文件 创建的步骤大致如下 3 1 首先双击Quartus Quart
  • RISC-V IDE MounRiver Studio相较Eclipse GNU的区别与改进

    RISC V单片机集成开发环境 IDE MounRiver Studio相较Eclipse GNU的区别与改进 一 界面与功能区别 1 欢迎页 MounRiver Studio www mounriver com 左侧为工程操作及帮助文档快
  • 机器学习(二)分类器及回归拟合

    在机器学习中 分类器作用是在标记好类别的训练数据基础上判断一个新的观察样本所属的类别 分类器依据学习的方式可以分为非监督学习和监督学习 非监督学习顾名思义指的是给予分类器学习的样本但没有相对应类别标签 主要是寻找未标记数据中的隐藏结构 监督
  • 互补品的需求曲线图_需求曲线:需求曲线的移动

    我们已经知道市场需求量是社会中各个家庭或企业的需求总和 那么需求曲线的变动是什么因素引起的呢 这将是我们本次讨论的重点问题 我们在讨论市场需求需求曲线时假设的前提 其他条件都保持不变 但是随着时间的推移 该曲线不一定是稳定不变的 如果某种因
  • js双层循环拿到二层循环的index值

    情景描述 多个房间 每个房间的人数不尽相同 后端获取的数据格式是根据房间走的 如 data roomNo 201 guestList name 张三 name 李四 roomNo 202 guestList name 张三三 name 李四