delete方法的用法:
let jsonValue={"name":"","age":7}
let result = delete jsonValue.age;
console.log("result:"+JSON.stringify(result ))
console.log("jsonValue:"+JSON.stringify(jsonValue))
//输出值为
//result:true
//jsonValue:{"name":""}
delete可以用于删除对象属性,返回true或false,且删除后,会改变对象自身。即是使用中间变量,也会改变原对象的值(引用类型)。
let jsonValue={"name":"","age":7}
let tempData= jsonValue;
delete tempData.name;
console.log("-----"+JSON.stringify(jsonValue))
console.log("====="+JSON.stringify(tempData))
//-----{"age":7}
//====={"age":7}
如果想保留原对象的值,可以用JSON.parse(JSON.stringify(jsonValue))方法,给中间变量赋值。
例:
let jsonValue={"name":"","age":7}
let tempData= JSON.parse(JSON.stringify(jsonValue));
delete tempData.name;
console.log("-----"+JSON.stringify(jsonValue))
console.log("====="+JSON.stringify(tempData))
//-----{"name":"","age":7}
//====={"age":7}