fix error panic in func RemoveItemFromArray

This commit is contained in:
AnilChinchawale 2018-11-09 10:59:55 +05:30
parent 3fc36efeb3
commit 21656d1855
2 changed files with 12 additions and 4 deletions

View file

@ -249,12 +249,20 @@ func RemoveItemFromArray(array []Address, items []Address) []Address {
if items == nil {
return array
}
for i, value := range array {
i := 0;
for i < len(array) {
value := array[i]
remove := false
for _, item := range items {
if value == item {
array = append(array[:i], array[i+1:]...)
remove = true
break
}
}
if !remove {
i++
}
}
return array
}

View file

@ -151,10 +151,10 @@ func BenchmarkAddressHex(b *testing.B) {
}
func TestRemoveItemInArray(t *testing.T) {
array := []Address{HexToAddress("0x0000000"), HexToAddress("0x0000001"), HexToAddress("0x0000002")}
remove := []Address{HexToAddress("0x0000000"), HexToAddress("0x0000004"), HexToAddress("0x0000003")}
array := []Address{HexToAddress("0x0000003"),HexToAddress("0x0000001"), HexToAddress("0x0000002"),HexToAddress("0x0000003")}
remove := []Address{HexToAddress("0x0000002"), HexToAddress("0x0000004"), HexToAddress("0x0000003")}
array = RemoveItemFromArray(array, remove)
if len(array) != 2 {
if len(array) != 1 {
t.Error("fail remove item from array address")
}
}