Ar HasKey
Jump to navigation
Jump to search
< [[::Category:Functions|Category:Functions]]
A function added by the New Vegas Script Extender.
Description
Added by NVSE V4. Returns True (1) if the specified array contains the specified key, or otherwise False (0).
Syntax
(bool) Ar_HasKey ToCheck:array Key:arraykey
Example
if eval Ar_HasKey SomeArray, SomeKey ; SomeArray has SomeKey endif
Examples With Extraneous Context
array_var aMagicNumberToString string_var slot let aMagicNumberToString := Ar_Map 2::"Upper Body", 5::"Weapon" if eval Ar_HasKey aMagicNumberToString, 2 ; True, the array has the key: 2 let slot := aMagicNumberToString[2] ; I know this is safe endif if eval Ar_HasKey aMagicNumberToString, 5 ; True, the array has the key: 5 endif if eval Ar_HasKey aMagicNumberToString, 13 ; False, the array has no key: 13 (or any except 2 and 5 in this case) endif
Exactly the same with a "stringmap"
array_var aStringToMagicNumber int iMN let aStringToMagicNumber := Ar_Map "Upper Body"::2, "Weapon"::5 if eval Ar_HasKey aStringToMagicNumber, "Upper Body" ; True, the array has the key: "Upper Body" let iMN := aStringToMagicNumber["Upper Body"] ; I know this is safe endif if eval Ar_HasKey aStringToMagicNumber, "Weapon" ; True, the array has the key: "Weapon" endif if eval Ar_HasKey aStringToMagicNumber, "Another" ; False, the array has no key: "Another" (or any except previous two) endif
Notes
- It will work with any type of array, although it is most appropriate for "map" and "stringmap" types, since with the regular "array" type (Ar_List) the keys are always consecutive from 0, so you could simply use Ar_Size instead.