Removes a specified element or numeric property from an object.


JS_DeleteElement(JSContext *cx, JS::HandleObject obj, uint32_t index);

// Added in SpiderMonkey 45

JS_DeleteElement(JSContext *cx, JS::HandleObject obj, uint32_t index,
                 JS::ObjectOpResult &result);
Name Type Description
cx JSContext * Pointer to a JS context from which to derive runtime information. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
obj JS::HandleObject Object from which to delete an element.
index uint32_t Index number of the element to delete.
result JS::ObjectOpResult & (out parameter) Receives the result of the operation.


JS_DeleteElement removes a specified element or numeric property, index, from an object, obj. If an object references an element belonging to a prototype, the element reference is removed from the object, but the prototype's element is not deleted. If deletion is successful, JS_DeleteElement returns true. Otherwise it returns false.

For JavaScript 1.2 and earlier, if failure occurs because you attempt to delete a permanent or read-only element, JS_DeleteElement reports the error before returning false. For JavaScript 1.3 and later, the attempt is silently ignored.

To truncate an array, use JS_SetArrayLength. To remove all elements and properties from an object, call JS_ClearScope.

See Also