<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">class ItemsXSX{

    constructor(){

		this.setInit();

	}

    getItems(){

        return this.items;

    }

	getItemsN(){

		return this.items.length;

	}

	getItemInd(ind){

		return this.items[ind];

	}

	getItemIdInd(idd){

		var i = 0;
		var i_m = this.getItemsN();

		while (i &lt; i_m){
			if (this.getItemInd(i).getId() == idd)
				return i;
			i++;
		}

		return -1;

	}

	getItemIdObj(idd){

		var i = 0;
		var i_m = this.getItemsN();

		while (i &lt; i_m){
			if (this.getItemInd(i).getId() == idd)
				return this.getItemInd(i);
			i++;
		}

		return false;

	}

	getItemAtributoInd(atributo, valor){

		var i = 0;
		var i_m = this.getItemsN();

		while (i &lt; i_m){
			if (this.getItemInd(i)[atributo] == valor)
				return i;
			i++;
		}

		return -1;

	}

	getItemAtributoObj(atributo, valor){

		var i = 0;
		var i_m = this.getItemsN();

		while (i &lt; i_m){
			if (this.getItemInd(i)[atributo] == valor)
				return this.getItemInd(i);
			i++;
		}

		return false;

	}

    setInit(){

		this.items = [];

    }

    setItem(obj){

        var ind = this.getItemIdInd(obj.getId());

		return (ind == -1) ? this.items.push(obj) : this.items[ind] = obj;

    }

    /*setItemSeNaoExistir(obj){

        return (this.getItemIdInd(obj.getId()) == -1) ? this.items.push(obj) : false;

    }*/

    setItems(objarr, apenassenaoexistir){

        var i = 0;
		var i_m = items.length;
        var inseridos = [];

		while (i &lt; i_m){
			if (apenassenaoexistir ? this.setItemSeNaoExistir(objarr[i]) : this.setItem(objarr[i]))
                inseridos.push(objarr[i]);
			i++;
		}

        return inseridos;

    }

    setItemAtributo(obj, atributo){

        var ind = this.getItemAtributoInd(atributo, obj[atributo]);

		return (ind == -1) ? this.items.push(obj) : this.items[ind] = obj;

    }

    setItemSeNaoExistir(obj, atributo){

        return (this.getItemAtributoInd(atributo, obj[atributo]) == -1) ? this.items.push(obj) : false;

    }

    setItemsAtributo(objarr, atributochave, apenassenaoexistir){

        var i = 0;
		var i_m = items.length;
        var inseridos = [];

		while (i &lt; i_m){
			if (apenassenaoexistir ? this.setItemSeNaoExistir(objarr[i], atributochave) : this.setItemAtributo(objarr[i], atributochave))
                inseridos.push(objarr[i]);
			i++;
		}

        return inseridos;

    }

	setItemRemove(id){

		var ind = this.getItemIdInd(id);

		if (ind &gt; -1)
			this.items.splice(ind, 1);

	}

}</pre></body></html>