当前位置: 首页 > news >正文

对象和数组的遍历

实现以下效果:对象中key有默认值,现在实现对象的key和数组元素如何能对应上,对象中obj[k] 变为true,否则变为false。

    //方法一:保持原有obj[k] 的值
	const arr = ["a", "b"];
	const obj = {
		a: "true",
		b: "true",
		c: "true",
		d: "false",
	};
	const tmpObj = {};
	arr.forEach((v) => (tmpObj[v] = true));
	Object.assign(obj, tmpObj);
	console.log("obj: ", obj);
    //方法二:不保持原有obj[k] 值
	const arr = ["a", "b"];
	const obj = {
		a: "true",
		b: "true",
		c: "true",
		d: "false",
	};
	Object.keys(obj).forEach((k) => (obj[k] = arr.includes(k)));
	console.log("obj: ", obj);
//(笨办法不推荐。。。)
// let arr = ['a','b'];
// let obj = {
// 	a:true,
// 	b:true,
// 	c:true,
// 	d:true,
// 	e:false,
// 	f:false
// }
// arr.forEach(itemKey =>{
//    obj[itemKey] = true
// })
// let newArr = Object.keys(obj).filter(objKey=>{
//     return !arr.includes(objKey);
// })
// newArr.forEach(item =>{
//    obj[item] = false
// })
// console.log(obj);

相关文章:

  • 【Vue】中的同步和异步
  • reduce() 遍历数组
  • 【Vue】中this.$refs的使用
  • 【Vue】分页组件切换分页时未定位到最上面的位置
  • 【Vue】导出 下载excel 方案(点击下载,下载一个excel模板)
  • 【react】语法总结
  • 【React】语法
  • Web前端工程师面试-HTML
  • Javascript Date对象
  • 谷歌浏览器使用记住密码功能后的input背景
  • jQuery为多元素添加统一样式
  • js 判断字符串中是否包含某个字符串
  • js 将两个对象合并成一个对象
  • 修改input的type属性
  • js查找字符串中某个字符出现的位置及次数
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • LeetCode算法系列_0891_子序列宽度之和
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • PAT A1050
  • 记一次用 NodeJs 实现模拟登录的思路
  • 类orAPI - 收藏集 - 掘金
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 源码安装memcached和php memcache扩展
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • ​什么是bug?bug的源头在哪里?
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (生成器)yield与(迭代器)generator
  • (十) 初识 Docker file
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (未解决)macOS matplotlib 中文是方框
  • (一)Neo4j下载安装以及初次使用
  • ****Linux下Mysql的安装和配置
  • ..回顾17,展望18
  • .NET 使用配置文件
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .net和php怎么连接,php和apache之间如何连接
  • .NET命令行(CLI)常用命令
  • .NET应用架构设计:原则、模式与实践 目录预览
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @RunWith注解作用
  • @Transactional类内部访问失效原因详解
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • [20171113]修改表结构删除列相关问题4.txt
  • [2023年]-hadoop面试真题(一)
  • [BZOJ 1040] 骑士
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [CSS] - 修正IE6不支持position:fixed的bug
  • [Deepin 15] 编译安装 MySQL-5.6.35
  • [Flutter] extends、implements、mixin和 abstract、extension的使用介绍说明
  • [Java][Android][Process] 暴力的服务能够解决一切,暴力的方式运行命令行语句