Smart-Contract-Wallets
是否可以在不循環遍歷數組的情況下重置數組?
我最近開始了 FreeCodeCamp 上的 Solidity/JS 課程。
在課程中,我們將一個地址數組重置為 0 / nul,表示如下:
for (uint256 funderIndex = 0; funderIndex < funders.length; funderIndex++){ address funder = funders[funderIndex]; addressOfFunders[funder] = 0; } funders = new address[](0);
我想知道是否可以僅使用“資助者 = 新地址”來重置陣列?如果不是,為什麼循環很重要?
謝謝你的幫助 ;)
您可以只執行最後一行(即
funders = new address[](0);
)來重置 all 數組。但對我來說,for 循環主要是為了重置名為“addressOfFunders”的映射,我只是猜測,這是一個從地址到 uint 的映射。
該行
address funder = funders[funderIndex];
只是為了找到每個提供資金的地址,下一行將addressOfFunders[funder] = 0;
映射重置為 0。一旦所有的地址都被檢索並且所有的映射值都被重置為 0,然後並且只有這樣你的程式碼才會通過做
funders = new address[](0);
我假設這
addressOfFunders
是一個映射(地址=> uint)是否正確?希望這有幫助!