JS_GetArrayLength

Retrieve the number of elements in an array object.

Syntax

bool
JS_GetArrayLength(JSContext *cx, JS::Handle<JSObject*> obj,
                  uint32_t *lengthp);
Name Type Description
cx JSContext * The context in which to look up the array's length. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
obj JS::Handle&lt;JSObject*&gt; The object to examine.
lengthp uint32_t * Out parameter. On success, *lengthp receives the length of the array.

Description

JS_GetArrayLength gets the .length property of obj as though by calling JS_GetProperty and converts it to a 32-bit unsigned integer. If obj is an array (see JS_IsArrayObject), this is guaranteed to succeed, because the .length property of an array is always a number and can't be deleted or redefined.

On success, JS_GetArrayLength stores the length in *lengthp and returns true. On failure, it reports an error and returns false, and the value left in *lengthp is undefined.

See Also