{% cq %} Solidity 中如何删除数组中某个位置的元素? {% endcq %}
{% cq %} Solidity 中如何删除数组中某个位置的元素? {% endcq %}
delete
操作符delete
操作符可以删除元素:
delete array[index];
不过上面会留出一个空位置,如果先移除这个位置,则需要手动移动元素:
contract test{
uint[] array = [1,2,3,4,5];
function remove(uint index) returns(uint[]) {
if (index >= array.length) return;
for (uint i = index; i<array.length-1; i++){
array[i] = array[i+1];
}
delete array[array.length-1];
array.length--;
return array;
}
}
如果不关心元素的位置,可以把最后一个元素拷贝到删除的元素上。
原问题链接
深入浅出区块链知识星球提供专业的区块链问答服务,如果你需要问题一直没有思路,也许可以考虑咨询下老师。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!