• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

js:删除对象属性的三种方法 和amp; 判断对象是否有某一属性的四种方法

武飞扬头像
viceen
帮助3

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfbkhce
系列文章
更多 icon
同类精品
更多 icon
继续加载