Removes a specified element or numeric property from an object.
Syntax
bool
JS_DeleteElement(JSContext *cx, JS::HandleObject obj, uint32_t index);
// Added in SpiderMonkey 45
bool
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_THREADSAFEbuild, the caller must be in a request on thisJSContext. | 
| 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. | 
Description
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
- MXR ID Search for JS_DeleteElement
- bug 1113369 -- added resultparameter