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

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

為什么這個(gè)JS解構(gòu)賦值方法適用于反向單鏈表?

為什么這個(gè)JS解構(gòu)賦值方法適用于反向單鏈表?

大話西游666 2019-04-16 13:15:56
我正在做一個(gè)leetcode問(wèn)題反向單鏈表。我嘗試了下面的代碼,看看我是否錯(cuò)過(guò)了第1位的代碼,結(jié)果會(huì)出錯(cuò)。我理解這是因?yàn)樗チ藢?duì)它的引用current.next。(感謝這個(gè)stackoverflow帖子。)function ListNode(val) {     this.val = val;     this.next = null;}/**  * @param {ListNode} head  * @return {ListNode}  */var reverseList = function(head) {     let current = head;     let prev = null;     while (current) {         current.next = prev;         prev = current;         current = current.next;         //The right one         // let save = current.next; //1         // current.next = prev;         // prev = current;         // current = save;     }     return prev};問(wèn)題是,我發(fā)現(xiàn)下面顯示的另一個(gè)代碼也可以通過(guò)使用數(shù)組解構(gòu)賦值(名稱可能正確嗎?),但我無(wú)法理解為什么這個(gè)工作沒(méi)有使用另一個(gè)變量來(lái)保存引用current.next。var reverseList = function(head) {     let current = head;     let prev = null;     while (current) {         [current.next, prev, current] = [prev, current, current.next];//2     }     return prev};那么第2位的代碼如何實(shí)際工作而不使用另一個(gè)變量來(lái)保存對(duì)current.next?的引用?
查看完整描述

2 回答

?
翻閱古今

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

[current.next, prev, current] = [prev, current, current.next]; 是一個(gè)數(shù)組解構(gòu)語(yǔ)法,它可以在不顯式保持tempvariable的情況下工作,因?yàn)橐帽4嬖跀?shù)組中


你可以把上面的代碼想象成


const arr = [];

arr[0] = prev;

arr[1] = current;

arr[2] = current.next;


current.next = arr[0];

prev = arr[1];

current = arr[2]

其中原始元素的引用保存在數(shù)組中而不是單個(gè)變量中


查看完整回答
反對(duì) 回復(fù) 2019-05-17
?
jeck貓

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


使用解構(gòu)賦值來(lái)交換變量不需要臨時(shí)變量。


var a = 1;

var b = 3;


[a, b] = [b, a];

console.log(a); // 3

console.log(b); // 1

請(qǐng)參閱在MDN上使用Destructuring交換variablesSection

請(qǐng)參閱briosheje關(guān)于語(yǔ)言規(guī)范詳細(xì)信息的答案中鏈接的ECMAScript文檔。


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

添加回答

舉報(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)