We use cookies on this site to enhance your user experience

Using return In a Function

return will stop a function and take the script back to the line where the function was originally called. If there is something after the keyword return, that information is sent back through the function.

In this case, return brings back the value of currentIndex and stores it in the original variable where findValue() was called.

Removing the Found Value

If a value was found using the find function, then it can be removed. Check if a value was found with an if statement.

  1. Check if a value is inside valueFound, and if so, remove the value using table.remove().
  1. Print out the array using the code below.
  1. Playtest and check that the first "Bread" value was removed from the array. Try removing other values by changing the second parameter in findValue().

Before removing the first "Bread"

After removing

Because this function was called once, only the first instance of "Bread" was removed. The next section will cover how to find and remove all instances.

While the function findValue() works with string and number values, be careful with the specific values you compare. For example, if you had a player, you’d need to check their Name value using the comparison:

player.Name == "playerNameToCheck" 

Find and Remove All of a Value

While the previous code could only remove the first instance of a value found, this code snippet will find and remove all occurrences of from an array.

Remember, removing items causes later indexes to shift. Instead of starting at the beginning of the array, start at the end to avoid accidentally skipping values. By starting at the last index, you won’t change the indexes of the values before it.

  1. Use an array named playerItems with at least four values and a set of duplicates.
  1. To go through the array, create a for loop that goes backwards through playerItems, starting at #playerItems, ending at 1, and incrementing by -1.
  1. In the loop, use an if statement to check if the value inside playerItems[index] is equal to "Bread", if so remove the item.
  1. Use the code below to add a second for loop that prints the array.
  1. Run the script and check that all valued named "Bread" are removed.

Finished Project Sample

Project File

The following project includes all scripts in this tutorial. Download here.

Note, all scripts are in ServerScriptService and disabled. To use a script, in its properties, uncheck the Disabled field and run Studio.