我有一個帶有多個引數 A、B、L、M 的 var K。我正在嘗試將增量/減量框設定為“A”,以便可以將其更改為更大或更小的數字。
如果這是可能的,它應該在下一次或會話加載時保持更改(保存?)。
{ L: 34, M: 56, A: 64, B: 65 },
{ L: 35, M: 55, A: 47, B: 89 },
{ L: 36, M: 54, A: 85, B: 62 },
{ L: 37, M: 53, A: 23, B: 11 }, ];
uj5u.com熱心網友回復:
由于這個問題是用 reactjs 標記的,我假設這個物件陣列處于組件狀態,所以我們必須在不改變原始陣列的情況下這樣做。
最安全的方法是使用 Array.prototype 中的 map() 方法。
例子:
const K = [{ L: 34, M: 56, A: 64, B: 65 }, { L: 35, M: 55, A: 47, B: 89 }];
const newArray = K.map(element => ({...element, A: element.A 1}));
console.log(newArray);
//[{ L: 34, M: 56, A: 65, B: 65 }, { L: 35, M: 55, A: 48, B: 89 }]
現在解釋一下。Map 是一種將函式作為引數的方法,其中第一個引數是陣列每個索引中的實際值,并在該位置回傳一個新值。在這里所做的({...element, A: element.A 1})
是,物件被“元素”中的屬性填充,然后屬性 A 被 element.A 1 的值覆寫。之后它作為新值回傳。每個鍵都發生了相同的情況。最終結果是一個新陣列,每個 A 增加 1 并分配給 newArray。
如果它必須留在會話中,只需將其保存在 sessionStorage 中。
有用的鏈接:
https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/470978.html
標籤:javascript 反应 反应式 变量 增量