Creating the products
How to make an object that has array inside
You can create an object within an yes array. To do this, simply use the Array objects. and Object .
Example:
/* Cria a constante onde será armazenado os produtos */
const produtos = [];
/* Cria a variável onde será criado o produto */
let produto = new Object();
/**
Para criar uma propriedade nesse objeto,
basta incluir o nome da propriedade na variável do objeto
*/
produto.nome = "Sei lá";
produto.cor = "azul";
produto.isDigital = false;
/* Aqui nós criamos um objeto já setado com um array */
produto.tamanho = ["M", "G", "GG"]
/* Adiciona o produto recém criado na constante produtos */
produtos.push(produto);
console.log( JSON.stringify(produtos) );
Changing products
To change these values is very simple, just access the product through the index (from 0..n-1), access the property and define a new value.
Since the tamanho
property is an array, we can change it using the push or unshift
produtos = [{
"nome": "Sei lá",
"cor": "azul",
"tamanho": ["M", "G", "GG"]
}]
/**
* Acessa o primeiro produto e utiliza o método
* PUSH para inserir um novo valor ao array
*/
produtos[0].tamanho.unshift("P");
produtos[0].tamanho.push("XG");
/* Imprime na tela */
console.log( produtos );
Reading information
To read information simply use a repeat structure such as for
or method forEach
of object Array
const produtos = [{
"nome": "Sei lá",
"cor": "azul",
"tamanho": ["M", "G", "GG"]
}]
for (let produto of produtos) {
console.log( 'Produto: ${produto.nome}' );
console.log( 'Produto: ${produto.tamanho[1]}' );
}
console.log( "------------- OU -------------" );
produtos.forEach( produto => {
console.log( 'Produto: ${produto.nome}' );
console.log( 'Produto: ${produto.tamanho[1]}' );
});
And if you just want to read the information about a product that has a certain characteristic, just use the method Array.filter
const produtos = [{
"nome": "Sei lá",
"cor": "azul",
"tamanho": ["M", "G", "GG"]
},{
"nome": "Sei lá 2",
"cor": "preto",
"tamanho": ["PP", "P"]
}]
let produtosFiltrado = produtos.filter( produto => produto.cor == "preto" )
console.log( produtosFiltrado );