Нет прямого способа проверить, имеет ли отображение определенный ключ. Но вы можете проверить, имеет ли свойство отображения значение или нет. В следующем примере считается, что Ticket
является структурой с некоторым свойством.
pragma solidity >=0.4.21 <0.6.0;
contract Test {
struct Ticket {
uint seatNumber;
}
mapping (string => Ticket) myMapping;
function isExists(string memory key) public view returns (bool) {
if(myMapping[key].seatNumber != 0){
return true;
}
return false;
}
function add(string memory key, uint seatNumber) public returns (bool){
myMapping[key].seatNumber = seatNumber;
return true;
}
}