亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

使用當前推送 javascript 復制以前的數組值

使用當前推送 javascript 復制以前的數組值

守著一只汪 2023-07-20 17:01:31
我正在嘗試在條件匹配條件時推送值,并將值推送到合并最后添加值的數組。但數組被匹配的條件覆蓋。   let Event = [];          if (allCheck['event1']) {            let ls = Event;            ls.push('Type1');          } else if (allCheck['event3']) {            let ls = Event;            lS.push('Type2');          } else if (allCheck['event3']) {            let ls = Event;            ne.push('Type3');           } 
查看完整描述

3 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

不確定上面的代碼行包含在哪個函數中...無論如何,為了保留以前的數組值,您確實需要將其定義devEvent為全局變量。意思是,let drvEvent = [];應該寫在函數之外。


let ls, lS, ne; // To access outside of if blocks

if (allCheck['drloadshed']) {

    ls = drEvents;

    ls.push('LOADSHED'); //LOADSHED

} else if (allCheck['drloadshift']) {

    lS = drEvents;

    lS.push('LOADSHIFT'); //both checked

} else if (allCheck['drneutral']) {

    ne = drEvents;

    ne.push('NEUTRAL'); //both checked

}


查看完整回答
反對 回復 2023-07-20
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

嘗試創建 的克隆drEvents以避免改變實際數組:


let ls, lS, ne; 

      if (allCheck['drloadshed']) {

        let ls = [...drEvents];

        ls.push('LOADSHED'); //LOADSHED

      } else if (allCheck['drloadshift']) {

        let lS = [...drEvents];

        lS.push('LOADSHIFT'); //both checked

      } else if (allCheck['drneutral']) {

        let ne = [...drEvents];

        ne.push('NEUTRAL'); //both checked

      } 


查看完整回答
反對 回復 2023-07-20
?
DIEA

TA貢獻1820條經驗 獲得超3個贊

在 if 條件之外聲明變量。當您使用 let 關鍵字聲明時,它只能在該代碼塊內(在您的情況下的 if 條件內)訪問。


let drEvent = [];

let ls = [...drEvents];

let lS = [...drEvents];

let ne = [...drEvents];

      if (allCheck['drloadshed']) {

        ls.push('LOADSHED'); //LOADSHED

      } else if (allCheck['drloadshift']) {

        lS.push('LOADSHIFT'); //both checked

      } else if (allCheck['drneutral']) {

        ne.push('NEUTRAL'); //both checked

      } 

為了避免覆蓋同一數組,您可以使用擴展運算符 (...) 創建同一數組的副本。要詳細了解發生這種情況的原因,您可以搜索按值傳遞和按引用傳遞(原始數據類型和引用數據類型)之間的差異。


查看完整回答
反對 回復 2023-07-20
  • 3 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號