1.使用in关键字。
该方法可以判断对象的自有属性和继承来的属性是否存在。
var o={x:1};
"x" in o; //true,自有属性存在
"y" in o; //false
"toString" in o; //true,是一个继承属性
2.使用对象的hasOwnProperty()方法。
该方法只能判断自有属性是否存在,对于继承属性会返回false。
var o={x:1};
o.hasOwnProperty("x"); //true,自有属性中有x
o.hasOwnProperty("y"); //false,自有属性中不存在y
o.hasOwnProperty("toString"); //false,这是一个继承属性,但不是自有属性
还有其他方法可参考 https://www.cnblogs.com/kongxianghai/archive/2013/04/12/3015803.html
在我的项目中 实例如下
data(){
arr:[
{name:'张三',fileds:'phone'},
{name:'李四',fileds:'email'},
{name:'王五'}
]
}
//首先要遍历这个arr,然后对{}进行操作
方法一:
this.arr.froEach(item =>{
if("fileds" in item == true){
item.fileds = " ";
//对应的结果arr:[{name:'张三',fileds:''}, {,name:'李四',fileds:''},{name:'王五'}]
delete item.fileds;
//对应的结果arr:[{name:'张三'}, {,name:'李四'},{name:'王五'}]
}
})
方法二:
this.arr.froEach(item =>{
if(item.hasOwnProperty("fileds") == true){
item.fileds = " ";
//对应的结果arr:[{name:'张三',fileds:''}, {,name:'李四',fileds:''},{name:'王五'}]
delete item.fileds;
//对应的结果arr:[{name:'张三'}, {,name:'李四'},{name:'王五'}]
}
})