JS 使用delete方法删除元素后 保留原值

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}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容