js之删除对象属性的三种方法 判断对象中是否有某一属性的四种方法
js之删除对象属性的三种方法 & 判断对象中是否有某一属性的四种方法
示例
1、基础版
var a = { id: 18, age: 20, name: "zhangsan", config: { sex: "nan" } };
//filterarr是需要删除的属性
const filterarr = ["name"];
// 这里a是对象,里边是键值对,需要通过对象名[属性名] 找到其对应的值,属性名可以理解为特殊的下标
for (key in a) {filterarr.find((item) => {if (key === item) {delete a[item];}});
}console.log(a); { id: 18, age: 20, config: { sex: "nan" } }
2、进阶版
var Array = [{id:1,name:'小明'},{id:2,name:'小红'},{id:3,name:'小红',showPinYin:false}]
const isPinYin = Array.find( v => (v.showPinYin !== undefined) );
console.log(isPinYin); // {id: 3, name: '小红', showPinYin: false}const filterarr = ["name"];
// 这里a是对象,里边是键值对,需要通过对象名[属性名] 找到其对应的值,属性名可以理解为特殊的下标
for (key in isPinYin) {filterarr.find((item) => {if (key === item) {delete isPinYin[item];}});
}console.log(Array); // [{id:1,name:'小明'},{id:2,name:'小红'},{id:3,showPinYin:false}]
1、删除一个对象上的属性
1.1、delete
- 语法
delete 对象.属性名
const car = {color: '蓝色', age: 18 }delete car.age
console.log(car) // {color: '蓝色'}delete car['age']
console.log(car) // {color: '蓝色'}
1.2、es6之解构赋值
const car = {color: '蓝色', age: 18 }var { age, ...newCar } = car
console.log(newCar); // {color: '蓝色'}
1.3、es6之反射
- 语法
Reflect.deleteProperty(对象,属性名)
const car = {color: '蓝色', age: 18 }
Reflect.deleteProperty(car,"age");console.log(car); // {color: '蓝色'}
2、判断对象中是否有某一属性的四种方法
2.1、obj.hasOwnProperty()
const obj = {name:'朱元璋',
}
console.log(obj.hasOwnProperty('name')); //true
console.log(obj.hasOwnProperty('age')); //false
2.2、!==
const obj = {name:'朱元璋',
}
console.log(obj.name !== undefined); //true
console.log(obj.age !== undefined); //false
2.3、Object.keys
const obj = {name:'朱元璋',
}
Object.keys(obj).indexOf("name") // 0
Object.keys(obj).indexOf("age") // -1
2.4、ES6
属性名 in
对象,返回一个布尔值
const obj = {name:'朱元璋',
}
console.log("name" in obj) // true
console.log("age" in obj) // false
js之删除对象属性的三种方法 判断对象中是否有某一属性的四种方法相关推荐
- es6 对象中是否有键值_js/es6判断对象是否为空,并判断对象是否包含某个属性...
js判断对象为空以及有好几种方法了,但是个人觉得不是特别方便. 比如: 1.把对象通过 JSON.stringify 转为字符串,再判断字符串是否等于 " {} " 2.for i ...
- Android中按钮的点击事件的四种写法
如题,在Android中按钮的点击事件有四种写法,如下图. 界面为四个Button+一个TextView+一个ImageView activity_main布局文件如下: <?xml versi ...
- Python中斐波那契数列的四种写法
在这些时候,我可以附和着笑,项目经理是决不责备的.而且项目经理见了孔乙己,也每每这样问他,引人发笑.孔乙己自己知道不能和他们谈天,便只好向新人说话.有一回对我说道,"你学过数据结构吗?&qu ...
- 页面中如何引用外部的HTML(四种方法)
页面中如何引用外部的HTML(四种方法) 一.总结 一句话总结:a.iframe标签 b.ajax引入代码片段 c.link import的方法导入 d.re ...
- 用两种遍历方法判断图中两点是否有路径
用两种遍历方法判断图中两点是否有路径(可直接测试) 邻接表.图.图的两种遍历以及图中路径的基本概念,可以去自行了解和学习(下面是代码实践)可直接在自己主机测试 #include <iostrea ...
- 非常易于理解‘类'与'对象’ 间 属性 引用关系,暨《Python 中的引用和类属性的初步理解》读后感...
关键字:名称,名称空间,引用,指针,指针类型的指针(即指向指针的指针) 我读完后的理解总结: 1. 我们知道,python中的变量的赋值操作,变量其实就是一个名称name,赋值就是将name引用到一个 ...
- 深入理解JVM(三)——JVM之判断对象是否存活(引用计数算法、可达性分析算法,最终判定),Eclipse设置GC日志输出,引用
本文转载自https://blog.csdn.net/ochangwen/article/details/51406779 本文是基于周志明的<深入理解Java虚拟机> 堆中几乎存放着Ja ...
- 依赖注入的三种方式_Java核心知识 Spring原理十 Spring 依赖注入四种方式
构造器注入 /*带参数,方便利用构造器进行注入*/ public CatDaoImpl(String message){ this. message = message; } setter 方法注入 ...
- java判断对象已死_Java的JVM判断对象已死的基本算法分析
jvm中有各种的垃圾收集器,每个收集器都有各自的算法.但是一切的根本都需要找到找到应该被消除的对象,理解如何找到死亡对象才是理解垃圾收集器的基础. 01两个基本算法 a.引用记数法:对象中加一个引用计 ...
最新文章
- python表格筛选打印_按行名进行表格筛选:awkpythonR
- C语言中缺少link文件,如何在link文件中给某个C文件的bss分配单独的段?
- 手动快捷创建用户和密码
- QThreadPool Class的翻译
- .NET Core使用微软AI认知服务识别文字语言
- asp.net网站编码测试
- 新西兰计算机专业研究生一年,【新西兰计算机专业研究生】 - 教外新西兰留学网...
- reprint函数的用法c语言,百篇大计敬本年之C语言巅峰之道《五》—— snprintf 是否需要 memset 缓冲区...
- Aizu - 2249
- C语言函数一章教学,c语言案例教程:函数教学讲义.ppt
- 计算机软件怎么共享使用,局域网共享软件,教您局域网共享软件如何使用
- 读《白话统计》笔记——第七章
- 【.Net】asp.net 把图片从CMYK印刷模式转换为RGB原色模式
- 第二讲:高性能计算关键技术和趋势分析
- 谷歌官方Android镜像下载(中文站)
- Ruby Rails开发资源
- npmnjs学习笔记-moddle description编写规则
- 直播APP源码iOS 调用系统铃声震动
- linux7yum配置后使用报错,Centos7 使用yum安装MariaDB 10.1(报错缺少依赖的解决情况,报错信息贴在最后)-Go语言中文社区...
- maven报错解决办法之一
热门文章
- mac 终端 root 权限
- 鸽巢原理(Pigeonhole Principle)
- c语言null和nullptr,NULL和nullptr
- 关于小程序中地图的应用(联动搜索,模糊查询,定位导航)
- Unity制作人物头像小图标和小地图
- 如何导出Navicat 的设计表到excle
- vue父子组件传值props
- css绘制卡券优惠券_CSS3 可伸缩(响应式)电影票/优惠券/卡片界面组件
- “十年内难以落地”的无人驾驶,第一站会在哪里?
- 内存测试软件苹果手机,苹果6内存问题,怎么查看iPhone6Plus的闪存内存类型(不用越狱)...