1. 程式人生 > >solidity智慧合約[20]-動態二維陣列

solidity智慧合約[20]-動態二維陣列

動態二維陣列定義

uint[][] public grade = [[60,80],[40,20],[50,50]];

獲取長度

1
2
3
4
5
6
7
8
9
function getLength() view public returns(uint){

    return grade.length;
}

  function getLength2() view public returns(uint){

    return grade[0].length;
}

修改長度

1
2
3
4

5
6
7
8
9
10
11
12
13
14
15
16
function changeLength() public{

     grade.length = 4;

 }

  function changeLength2() public{
     grade.length =2;
 }

   function changeLength3() public{
    grade[0].length =3;
 }
    function changeLength4
() public
{

    grade[0].length =1;
 }

新增修改內容

1
2
3
4
5
6
7
function changeContent() public{
    grade[1][0] = 100;
}

function changeContent2() public{
   grade.push([100,90]);
}

遍歷內容

1
2
3
4
5
6
7
8
9
10
//獲取內容並求和
function   add() view
public returns(uint)
{

   uint sum = 0;
   for(uint i = 0;i<3;i++){
       for(uint j = 0;j<2;j++){
            sum+= grade[i][j];
       }
   }
   return sum;
}

image.png