principiantes - javascript para que sirve
Matriz JavaScript para establecer (4)
Lo que said sobre pasarlo al constructor es correcto, pero también podría usar un objeto.
Creo que lo que
Veverke
está tratando de decir es que podría usar fácilmente la
palabra clave
delete
en un objeto para lograr el mismo efecto.
Creo que estás confundido por la terminología; properties son componentes del objeto que puede usar como índices con nombre (si quiere pensarlo de esa manera).
Intenta algo como esto:
var obj = {
"bob": "dole",
"mr.": "peabody",
"darkwing": "duck"
};
Entonces, podrías hacer esto:
delete obj["bob"];
La estructura del objeto sería entonces esta:
{
"mr.": "peabody",
"darkwing": "duck"
}
Lo que tiene el mismo efecto.
MSDN hace referencia a la abstracción de la colección
Set
de JavaScript.
Tengo una serie de objetos que me gustaría convertir en un conjunto para poder eliminar (
.delete()
) varios elementos por nombre:
var array = [
{name: "malcom", dogType: "four-legged"},
{name: "peabody", dogType: "three-legged"},
{name: "pablo", dogType: "two-legged"}
];
¿Cómo convierto esta matriz en un conjunto? Más específicamente, ¿es posible hacer esto sin iterar sobre la matriz anterior? La documentación es relativamente escasa (suficiente para conjuntos instanciados; no para conversiones, si es posible).
También puedo estar pensando en la conversión a un Map , para su eliminación por clave. Lo que estoy tratando de lograr es una colección iterable a la que se puede acceder o modificar a través del acceso a los elementos principalmente a través de una clave (a diferencia del índice).
La conversión de una matriz a otra es el objetivo final.
Por definición, "Un conjunto es una colección de valores, donde cada valor puede aparecer solo una vez". Entonces, si su matriz tiene valores repetidos, entonces solo se agregará un valor entre los valores repetidos a su Conjunto.
var arr = [1, 2, 3];
var set = new Set(arr);
console.log(set); // {1,2,3}
var arr = [1, 2, 1];
var set = new Set(arr);
console.log(set); // {1,2}
Por lo tanto, no convierta a set si tiene valores repetidos en su matriz.
Si comienzas con:
let array = [
{name: "malcom", dogType: "four-legged"},
{name: "peabody", dogType: "three-legged"},
{name: "pablo", dogType: "two-legged"}
];
Y quieres un conjunto de, digamos, nombres, harías:
let namesSet = new Set(array.map(item => item.name));
Simplemente pase la matriz al constructor Set.
El constructor Set acepta un parámetro
iterable
.
El objeto Array implementa el protocolo
iterable
, por lo que es un parámetro válido.
var arr = [55, 44, 65];
var set = new Set(arr);
console.log(set.size === arr.length);
console.log(set.has(65));