npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

objectarray

v1.3.3

Published

JS Array version for objects colletions

Downloads

54

Readme

Clase ObjectArray

license Build Status npm version Github release npm downloads

La Clase ObjectArray permite instanciar un objeto de tipo ObjectArray, un array de objetos con métodos para insertar, borrar y mover los objetos en el array. npm

La idea trata de tener un Array de Objetos, cuyos objetos tienen una propiedad que los identifica de forma única. Esta propiedad por defecto es 'id'. Al objeto se le dota de una serie de métodos para manejar este array de objetos.

var oa = new ObjectArray();

Es posible instanciar el objeto con datos:

var oa = new ObjectArray(
    {id:'a',something:'a...'},
    {id:'c',something:'c...'}
);

Esto convertirá a la variable oa en un Array de Objetos, donde cada objeto que compone el array se identificará mediante una propiedad, por defecto 'id'. Además añade a la instancia una serie métodos para trabajar con el array de objetos.

##Métodos

ObjectArray.prototype.insert (element [, index, pid])

Inserta un objeto element en el array, en la posición indicada por index, y si es necesario indicando un pid.

  • element: objeto a insertar en el arrayObject.
  • index: Posición de la inserción. La posión puede ser Integer o String. Un Integer especifica la posición del array, mientas que un String especifica el valor de la propiedad usada para identificar a un objeto del array, si no se especifica un pid se toma por defecto 'id'.
  • pid: propiedad de identificación del objeto del array. Por defecto es 'id'.

Devuelve una referencia al objeto. Si no encuentra index el elemento se inserta al final. Siempre se realiza inserción.

oa.insert({'id': 'OB-0', 'something' : 'ob-0...'}, 0 );
// Inserta el objeto en la posición 0 del array.
oa.insert({'id': 'OB-3', 'something' : 'ob-3...'}, 'OB-2' );
// Inserta el objeto en la posición que ocupa el objeto cuyo id='OB-2';
oa.insert({'id': 'OB-4', 'something' : 'ob-4...'}, 'ob-2...','something' );
// Inserta el objeto en la posición del objeto cuya propiedad 'something'='ob-2...'; 
// Será la posición del objeto que primero coincida.
// Si no se localiza el elemento que se busca, se inserta el último.

Si index es Integer, inserta el objeto element en esta posición. Si index es String, inserta el objeto element en la posición que ocupe el primer elemento cuyo identificador id sea igual a index. Podemos especificar un identificador diferente de id con el parámetro pid.

ObjectArray.prototype.insertAfter (element, index [, pid])

Igual que insert, pero inserAfter inserta después de la posición encontrada.

ObjectArray.prototype.get (index [, pid])

Devuelve el objeto que ocupa la posición index. Si index es Integer indica la posición en el array; si es String, será el primer elemento cuyo identificador 'id' sea igual a index. En caso de especificar pid, devolverá el primer elemento cuya propiedad pid sea igual a index. Devuelve undefined si no encuentra nada, si encuentra el elemento lo devuelve.

oa.get(0);
// Devuelve el objeto en la posición 0 del array.
oa.get('OB-2');
// Devuelve el objeto cuyo id='OB-2'
oa.get('ob-2...','something');
// Devuelve un objeto cuya propiedad 'something'='ob-2...'

ObjectArray.prototype.getAll (index [, pid])

Su funcionamiento es similar a ObjectArray.prototype.get(), pero en lugar de devolver sólo el primer elemento cuyo identificador 'id' sea igual a index, devuelve todos los objetos cuyo 'id' sea igual a index. En el caso de especificar pid, devolverá todos los elementos cuya propiedad pid sea igual a index.

ObjectArray.prototype.search (index [, pid])

Devuelve el indice del primer objeto encontrado cuya propiedad 'id'=index. Si se especifica pid, se busca en la propiedad pid indicada en vez de en 'id'

  • index: string del valor de la propiedad 'id' en caso de no especificar pid.
  • pid: string que especifica la propiedad

En este método index no debe ser Integer.

Devuelve el índice en el array del objeto.

oa.search('OB-0');
// Devuelve la posición del objeto en el array.

ObjectArray.prototype.searchAll (index [, pid])

Funcionamiento similar a ObjectArray.prototype.search(), pero en vez de devolver el indice del primer objeto, devuelve los indices de todos los objetos cuya propiedad 'id'=index. Si se especifica pid, se busca en la propiedad pid el valor index.

ObjectArray.prototype.values (pid)

Devuelve todos los valores del pid existentes en el ObjectArray.

oa.values('id');

ObjectArray.prototype.move (index, indexTo [, pid])

Mueve el objeto ubicado en la posición index a la posición indexTo, desplazando el resto de elementos hacia arriba. Si la propiedad que se quiere utilizar para identificar a los objetos es diferente de 'id' se puede utilizar el parámetro pid.

  • index: integer o string. Integer define la posición en el array, string el valor de la propiedad que tomamos para realizar la comparación.
  • indexTo: integer o string. Integer define la posición en el array, string el valor de la propiedad que tomamos para realizar la comparación.
  • pid: propiedad usada en la identificación del objeto, por defecto es 'id'.
oa.move(0, 3);
// Mueve el objeto ubicado en la posición 0 a la 3. Reordenando el array.
oa.move('OB-1', 3);
// Mueve el objeto con 'id'='OB-1' a la posición 3. Reordenando el array.
oa.move('OB-1', 'OB-3');
// Mueve el objeto con 'id'='OB-1' a la posición del objeto con 'id'='OB-3. Reordenando el array.

ObjectArray.prototype.moveAfter (index, indexTo [, pid])

Igual que .move() pero moviendo el objeto ubicado en la posición index a la posición después de indexTo.

ObjectArray.prototype.remove (index [, pid])

Elimina el objeto de la posición indicada en index, si index es Integer. Si es string, elimina el objeto cuya propiedad 'id'=index, en el caso de especificar pid, elimina el objeto cuya propiedad pid=index.

Devuelve true si el objeto se ha borrado correctamente.

Ejemplos

Ejemplo en jsfiddle.net - Al final está el código del ejemplo.

Licencia

MIT