Résumer quelques opérations de traitement de données js (es5, es6, es7) couramment utilisées
Mis à jour en permanence, trié par données
06/04/2022
1. Ajouter et supprimer des attributs aux objets avec js
※ Ajouter
obj.name = "yyds"
※ supprimer
delete obj.name
2. Opérateur de propagation d'objet (...) Copie profonde et copie superficielle
※ Lorsque l'objet tableau est un calque, il s'agit d'une copie profonde, lorsque l'objet tableau est multicouche (élément de type référence), il s'agit d'une copie superficielle
// 深拷贝
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"