without
function without( tab, ... ) --> reduced
Description
Returns a copy of the array table without the assigned elements. without does not affect the table itself.
Parameters
- tab
-
The source array tables where you want to remove elements.
- …
-
The elements you want to remove from the array table.
Return Values
- reduced
-
A copy of the array the without all instances of the elements removed.
Code
--ZFUNC-without-v1 local function without( tab, ... ) --> reduced local values = { ... } local ignore = {} for _, v in ipairs( values ) do ignore[ v ] = true end local reduced = {} for _, v in ipairs( tab ) do if not ignore[ v ] then table.insert( reduced, v ) end end return reduced end return without
Examples
local t = require( "taptest" ) local same = require( "same" ) local without = require( "without" ) local res = without( { 1, 2, 1, 0, 3, 1, 4 }, 0, 1 ) t( same( res, { 2, 3, 4 } ), true ) t()