总结一些常用的js(es5、es6、es7)处理数据操作
持续更新,按数据排序
2022.04.06
一、js给对象添加和删除属性
※ 添加
obj.name = "yyds"
※ 删除
delete obj.name
二、对象的扩展运算符(…)深拷贝与浅拷贝
※当数组对象是一层的时候为深拷贝,当数组对象是多层(引用类型元素)的时候为浅拷贝
// 深拷贝
let timeLimit = {
startTime: "2022.02.02",
endTime: "2022.04.06",
}
let obj = { ...timeLimit }
obj.endTime = "2022.05.20"
console.log(timeLimit.endTime) // "2022.04.06" 不改变原对象的值
// 浅拷贝
let a = {
name: "yyds"
address: {
city: "zhuhai"
}
}
let b = { ...a }
b.address.city = "guangzhou"
console.log(a.address.city) // "guangzhou" 改变原对象的值,b.address.city对应的是a属性的引用
// 改进,使得深拷贝
let a = {
name: "yyds"
address: {
city: "zhuhai"
}
}
let b = {
...a,
address: {
...a.address
}
}
b.address.city = "guangzhou"
console.log(a.address.city) // "zhuhai"