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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

修改對(duì)象中鍵的值不起作用

修改對(duì)象中鍵的值不起作用

慕運(yùn)維8079593 2022-09-29 15:37:31
我有一個(gè)對(duì)象說requestObject: any = {    "type": 'type1',    "start": 0,    "size": 10,    "keywords": ['abcd','efgh'],    filters: [],  }然后我想修改關(guān)鍵字的值,所以我做了 requestObject['keywords'] =  ['pqr']但是當(dāng)我為它做控制臺(tái)日志時(shí)。它顯示相同的值。"keywords": ['abcd','efgh'],我嘗試刪除密鑰,然后添加具有相同密鑰名稱但仍然相同的更新值。delete requestObject.keywordsrequestObject['keywords'] =  ['pqr'];詳細(xì)說明:我有兩個(gè)同級(jí)組件,讓我們說A和B(Ngb模式)。在組件 A 中,我有請(qǐng)求對(duì)象。現(xiàn)在,單擊組件A中的按鈕時(shí),組件B(NgbModal)會(huì)彈出,我可以在其中更新值并點(diǎn)擊提交。提交后,我使用事件發(fā)射器將這些值發(fā)送到組件A,并使用modalRef.componentInstance.filterApplied.subscribe((res: any) => {}并且我正在嘗試更新組件 A 中的對(duì)象。但它沒有更新和給出相同的舊值。
查看完整描述

2 回答

?
撒科打諢

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊

你可能會(huì)無意中碰到“不變性”。

我懷疑您的響應(yīng)對(duì)象是通過HttpResponse返回的,其主體(根據(jù)文檔)是只讀的。

即使這不是這里的根本原因,通常最好避免直接修改對(duì)象(如服務(wù)器響應(yīng))。更好的方法是創(chuàng)建一個(gè)新對(duì)象并修改新對(duì)象。

請(qǐng)嘗試以下一種或兩種方法:

const requestObject: any = {

  "type": 'type1',

  "start": 0,

  "size": 10,

  "keywords": ['abcd','efgh'],

  filters: [],

}



// -----------

// solution 1:

// create a new object by spreading the old one and overwriting the 'keywords' item


const updatedRequest = {...requestObject, keywords: ['pqr'] }

console.log(updatedRequest)



// -----------

// solution 2:

// deep copy via JSON.stringify + JSON.parse


const clonedRequest = JSON.parse(JSON.stringify(requestObject))

clonedRequest.keywords = ['pqr']

console.log(clonedRequest)


查看完整回答
反對(duì) 回復(fù) 2022-09-29
?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊

當(dāng)我在控制臺(tái)中測(cè)試代碼時(shí),


{

    "type": 'type1',

    "start": 0,

    "size": 10,

    "keywords": ['abcd','efgh'],

    filters: [],

}

被賦給變量 ,而不是 。這是有道理的,就像你正在做的那樣,它將=符號(hào)之后的所有內(nèi)容分配給,并且不返回任何內(nèi)容。另外,我不認(rèn)為使用冒號(hào)進(jìn)行賦值在對(duì)象定義之外有效。結(jié)果對(duì)我來說對(duì)象是未定義的。您可能希望將作業(yè)替換為anyrequestObjectany =any


requestObject = {

    "type": 'type1',

    "start": 0,

    "size": 10,

    "keywords": ['abcd','efgh'],

    filters: [],

  }


查看完整回答
反對(duì) 回復(fù) 2022-09-29
  • 2 回答
  • 0 關(guān)注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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