如何在合同映射中找到项目的索引

How to find index of item in contract mapping

我在我的以太坊合约中定义了一个映射,如下所示

mapping (string => string) client;

我有一个函数正在尝试将客户端添加到此映射,但在我添加之前我想检查项目是否已经存在。有没有一种方法可以让我通过像 "get me the index of item in this mapping if value is this" 这样的开箱即用的方法或者可能遍历合同

内的映射来获取项目的索引
function AddClient(string clientName) {

}

有几种方法可以实现它,但您必须在较低级别进行管理,因为没有开箱即用的方法来查询该信息的映射。看看这篇描述一些基本存储模式的文章。 https://ethereum.stackexchange.com/questions/13167/are-there-well-solved-and-simple-storage-patterns-for-solidity

希望对您有所帮助。