/* * Delete an element by name. */ static int deleteArrayPropertyByName(Ejs *ejs, EjsArray *ap, EjsName *qname) { if (isdigit((int) qname->name[0])) { return deleteArrayProperty(ejs, ap, atoi(qname->name)); } return (ejs->objectHelpers->deletePropertyByName)(ejs, (EjsVar*) ap, qname); }
/* Delete an element by name */ static int deleteArrayPropertyByName(Ejs *ejs, EjsArray *ap, EjsName qname) { if (isdigit((uchar) qname.name->value[0])) { return deleteArrayProperty(ejs, ap, (int) wtoi(qname.name->value)); } return (ejs->service->potHelpers.deletePropertyByName)(ejs, ap, qname); }
PUBLIC int ejsRemoveLastItem(Ejs *ejs, EjsArray *ap) { assert(ap); if (ap->length <= 0) { return MPR_ERR_CANT_FIND; } return deleteArrayProperty(ejs, ap, ap->length - 1); }
PUBLIC int ejsRemoveItemAtPos(Ejs *ejs, EjsArray *ap, int index, int compact) { int rc; assert(ap); if (ap->length <= 0) { return MPR_ERR_CANT_FIND; } rc = deleteArrayProperty(ejs, ap, index); if (compact) { compactArray(ejs, ap, 0, NULL); } return rc; }
PUBLIC int ejsRemoveItem(Ejs *ejs, EjsArray *ap, EjsAny *item, int compact) { int i; for (i = 0; i < ap->length; i++) { if (ap->data[i] == item) { deleteArrayProperty(ejs, ap, i); if (compact) { compactArray(ejs, ap, 0, NULL); } return i; } } return MPR_ERR_CANT_FIND; }