将字符串推入结构中的数组中

Posted

技术标签:

【中文标题】将字符串推入结构中的数组中【英文标题】:Push string into array in struct in solidity 【发布时间】:2021-08-18 06:31:30 【问题描述】:

我有一个 Solidity 结构,定义如下:

struct Batch
    address payable owner;
    address payable[] precedentsOwners;
    uint[] precedentsBatches;

我想创建一个函数,允许我将所有者列表附加到这个结构,但我得到了很多错误......有什么办法吗?

非常感谢。

【问题讨论】:

【参考方案1】:

您可以使用push()数组方法将项目添加到存储数组中。

请注意,您的数组是 address payable 类型,因此如果您要传递常规的 address(参见 appendToOwners() 的参数),则需要先将其转换为 payable

pragma solidity ^0.8;

contract MyContract 
    struct Batch
        address payable owner;
        address payable[] precedentsOwners;
        uint[] precedentsBatches;
    
    
    Batch public myBatch;
    
    function appendToOwners(address _newOwner) external 
        myBatch.precedentsOwners.push(payable(_newOwner));
    

【讨论】:

非常感谢彼得!我会告诉你它是否有效!

以上是关于将字符串推入结构中的数组中的主要内容,如果未能解决你的问题,请参考以下文章

Mongoose:将字符串推入数组

Mongoose/Node:将元素推入数组类型的文档字段?

将对象推入javascript深拷贝还是浅拷贝中的数组?

Jquery - 简单数组,如果项目不存在则推入,如果项目存在则移除项目

推入数组猫鼬时对象对象而不是字符串

如何将一个数组推入另一个数组元素中作为 JavaScript 中的新属性? [复制]