色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

json拷貝賦值

趙雅婷1年前5瀏覽0評論

JSON是一種輕便的數據交換格式,被廣泛應用于Web API的數據交互。在JavaScript編程中,需要經常對JSON對象進行拷貝和賦值的操作。下面介紹兩種方法實現JSON拷貝賦值。

方法一:深拷貝

function deepCopy(obj) {
let copy = obj instanceof Array ? [] : {};
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
copy[key] = typeof obj[key] === 'object' ? deepCopy(obj[key]) : obj[key];
}
}
return copy;
}
let original = {foo: 'bar', arr: [1, 2, 3]};
let copied = deepCopy(original);
console.log(original === copied, copied);
// false, {foo: 'bar', arr: [1, 2, 3]}

深拷貝會遞歸地遍歷JSON對象,將其每個屬性值都拷貝到新的對象上。需要注意的是,深拷貝有一定的性能開銷,最好在拷貝較小的JSON對象時使用。

方法二:淺拷貝

function shallowCopy(obj) {
return Object.assign({}, obj);
}
let original = {foo: 'bar', arr: [1, 2, 3]};
let copied = shallowCopy(original);
console.log(original === copied, copied);
// false, {foo: 'bar', arr: [1, 2, 3]}

淺拷貝只會拷貝JSON對象的第一層屬性值,如果JSON對象的屬性值是一個引用類型(如數組或對象),則只會拷貝它的引用而不是對象本身。需要注意的是,如果JSON對象的屬性名有相同的,則后面的屬性值會覆蓋前面的屬性值。

以上介紹了JSON拷貝賦值的兩種方法,開發者可以根據實際需求選擇適合自己的方式。