You may need to show us how "array" is defined. Nasm wants the entire memory reference inside the square brackets, so...
mov [array + esi * ?], '0'
We will also need to specify a size. The character " '0' " looks like a byte to me. However, that would make "Type array" 1, and they probably wouldn't have mentioned it(?). Could be 2, 4, or 8 also. I would guess either:
mov byte [array + esi], '0'
or possibly:
mov dword [array + esi * 4], '0'
... there are other possibilities...
When I was doing a lot of Masm to Nasm conversion, I used to ask myself, "What does the code need to do here to make sense?" If you can't figure it out from that, show us more of the code..
Best,
Frank