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 对象.属性名文章来源:https://www.toymoban.com/news/detail-639261.html
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(对象,属性名)文章来源地址https://www.toymoban.com/news/detail-639261.html
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之删除对象属性的三种方法 & 判断对象中是否有某一属性的四种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!