StructFilter()

This function creates a new Struct that returns all entries from an struct that match the given filter.

StructFilter( struct=struct, filter=function, parallel=boolean, maxThreads=number );

Returns: Struct

Argument Description Default
struct
struct, required

struct to filter entries from

filter
function, required

A function/closure that implements the following constructor

function(any key, any value) { return true/false; }

parallel
boolean, optional

execute closures parallel

maxThreads
number, optional

maximum number of threads executed, ignored when argument "parallel" is set to false

Alias: maxThreadCount

20

Examples

Non-Member Function

animals = {
	cow: "moo",
	pig: "oink",
	snail: ""
};
// Show all animals
Dump(
	label: "All animals",
	var: animals
);
// Get animals that make noise
noisyAnimals = StructFilter(animals, function(key) {
	// If the key has a value return true (noisy animal)
	if (Len(animals[arguments.key])) {
		return true;
	}
	return false;
});
Dump(
	label: "Noisy Animals",
	var: noisyAnimals
);
// Get animals that are quiet
quietAnimals = StructFilter(animals, function(key) {
	// If the key has a value return true (quiet animal)
	if (! Len(animals[arguments.key])) {
		return true;
	}
	return false;
});
Dump(
	label: "Quiet Animals",
	var: quietAnimals
);

See also