第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js數(shù)組已經(jīng)實現(xiàn)深拷貝,但是修改其中一個數(shù)組的值,其他數(shù)組的值會改變?

js數(shù)組已經(jīng)實現(xiàn)深拷貝,但是修改其中一個數(shù)組的值,其他數(shù)組的值會改變?

郎朗坤 2019-03-20 15:15:36
_createProps: function (props){    let colProp = [], rowProp = [], propsAry = [], temp = [];    if (props[0]){      props[0].childsCurGoods.forEach(function(n,i){        colProp.push({id:n.id,name:n.name,buyNum:0});      });      propsAry = colProp;      if (props[1]){            props[1].childsCurGoods.forEach(function (n, i) {                           temp[i] = [];              for (let j = 0; j < colProp.length;j++){                temp[i].push(colProp[j]);              }              rowProp.push({ id: n.id, name: n.name, child: temp[i]})            });            propsAry = rowProp;          }    }    return propsAry;  }```在小程序某一頁面有這么一函數(shù),目的是將一段數(shù)據(jù)過濾我需要的如下數(shù)據(jù)格式:res:[{    "id":1,    "name":"www",    "child":[        {            "id":2,            "name":"ssss",            "buyNum":23        },        {            "id":2,            "name":"ssss",            "buyNum":23        },        {            "id":2,            "name":"ssss",            "buyNum":23        },        {            "id":2,            "name":"ssss",            "buyNum":23        }    ]}]現(xiàn)在的問題是我一改變其中一個一個對象中的chile的某個值,就會導致其他對象的child發(fā)生改變。比如我通過`res[0].child[0].buyNum = 3`,會導致res[0].child[1]、res[0].child[2]...中的buyNum的值都變成3。
查看完整描述

2 回答

?
蠱毒傳說

TA貢獻1895條經(jīng)驗 獲得超3個贊

很明顯, 你寫的并非深拷貝
luckness 說的Object.assign也只是解決了更深一層的引用, 如果你child里某個元素還有引用類型的屬性, 這種情況依然會出現(xiàn)。

你這種的可以用JSON.parse(JSON.stringify(res))來實現(xiàn)

需要注意的是, 遇到值是類似function/RegExp這樣的, 或是有循環(huán)引用的就不行了


查看完整回答
反對 回復 2019-04-04
  • 2 回答
  • 0 關(guān)注
  • 1107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號