StructFindKey

Searches recursively through a substructure of nested arrays, structures, and other elements, for structures whose values match the search key in the value parameter.

Returns: array

Usage

StructFindKey( Top, Key [, Scope ] )

Arguments

Argument Description Default
Top
(struct, required)

object from which to start search. This parameter requires an object, not a name of an object.

Key
(string, required)
Scope
(string, optional)
  • one (default): returns one matching key.
  • all: returns all matching keys

one

Examples

Member Function

animals = {
	cow: {
		noise: "moo",
		size: "large"
	},
	pig: {
		noise: "oink"
	},
	cat: {
		noise: "meow",
		size: "small"
	}
};

// Show all animals
Dump(
	label: "All animals",
	var: animals
);

// Find "all" animal(s) containing key of 'size'
findAnimalsWithSize = animals.findKey("size", "all");

// Show results in findAnimalsWithSize
Dump(
	label: "Results of animals.findKey(""size"", ""all"")",
	var: findAnimalsWithSize
);

Non-Member Function

animals = {
	cow: {
		noise: "moo",
		size: "large"
	},
	pig: {
		noise: "oink"
	},
	cat: {
		noise: "meow",
		size: "small"
	}
};

// Show all animals
Dump(
	label: "All animals",
	var: animals
);

// Find "all" animal(s) containing key of 'size'
findAnimalsWithSize = StructFindKey(animals, "size", "all");

// Show results in findAnimalsWithSize
Dump(
	label: "Results of StructFindKey(animals, ""size"", ""all"")",
	var: findAnimalsWithSize
);

See also