0 votes

Ok so I was just trying to make an array and when the user finished and clicked finished it would delete the selected item from the OptionButton. But for some reason, it removes the element from both arrays.

var array1 = ["Number one", "Number 2"]
var array2 = array1


func _ready():
    array2.remove(0)

But then It removes the element from array1 & array2
Thanks!

in Engine by (12 points)

1 Answer

+5 votes

because Array and Dictionary are pointer-based data type (in Godot)
when you 'array2 = array1'
array2 will point to the same array as array1
to separate it, you need to create the new array for array2 to point to

var array1 = ["Number one", "Number 2"]
var array2 = array1.duplicate()
by (133 points)
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.