parent
							
								
									507fa2dad5
								
							
						
					
					
						commit
						17473fcafb
					
				@ -0,0 +1,195 @@
 | 
				
			||||
const countries = [
 | 
				
			||||
  'Afghanistan',
 | 
				
			||||
  'Albania',
 | 
				
			||||
  'Algeria',
 | 
				
			||||
  'Andorra',
 | 
				
			||||
  'Angola',
 | 
				
			||||
  'Antigua and Barbuda',
 | 
				
			||||
  'Argentina',
 | 
				
			||||
  'Armenia',
 | 
				
			||||
  'Australia',
 | 
				
			||||
  'Austria',
 | 
				
			||||
  'Azerbaijan',
 | 
				
			||||
  'Bahamas',
 | 
				
			||||
  'Bahrain',
 | 
				
			||||
  'Bangladesh',
 | 
				
			||||
  'Barbados',
 | 
				
			||||
  'Belarus',
 | 
				
			||||
  'Belgium',
 | 
				
			||||
  'Belize',
 | 
				
			||||
  'Benin',
 | 
				
			||||
  'Bhutan',
 | 
				
			||||
  'Bolivia',
 | 
				
			||||
  'Bosnia and Herzegovina',
 | 
				
			||||
  'Botswana',
 | 
				
			||||
  'Brazil',
 | 
				
			||||
  'Brunei',
 | 
				
			||||
  'Bulgaria',
 | 
				
			||||
  'Burkina Faso',
 | 
				
			||||
  'Burundi',
 | 
				
			||||
  'Cambodia',
 | 
				
			||||
  'Cameroon',
 | 
				
			||||
  'Canada',
 | 
				
			||||
  'Cape Verde',
 | 
				
			||||
  'Central African Republic',
 | 
				
			||||
  'Chad',
 | 
				
			||||
  'Chile',
 | 
				
			||||
  'China',
 | 
				
			||||
  'Colombi',
 | 
				
			||||
  'Comoros',
 | 
				
			||||
  'Congo (Brazzaville)',
 | 
				
			||||
  'Congo',
 | 
				
			||||
  'Costa Rica',
 | 
				
			||||
  "Cote d'Ivoire",
 | 
				
			||||
  'Croatia',
 | 
				
			||||
  'Cuba',
 | 
				
			||||
  'Cyprus',
 | 
				
			||||
  'Czech Republic',
 | 
				
			||||
  'Denmark',
 | 
				
			||||
  'Djibouti',
 | 
				
			||||
  'Dominica',
 | 
				
			||||
  'Dominican Republic',
 | 
				
			||||
  'East Timor (Timor Timur)',
 | 
				
			||||
  'Ecuador',
 | 
				
			||||
  'Egypt',
 | 
				
			||||
  'El Salvador',
 | 
				
			||||
  'Equatorial Guinea',
 | 
				
			||||
  'Eritrea',
 | 
				
			||||
  'Estonia',
 | 
				
			||||
  'Ethiopia',
 | 
				
			||||
  'Fiji',
 | 
				
			||||
  'Finland',
 | 
				
			||||
  'France',
 | 
				
			||||
  'Gabon',
 | 
				
			||||
  'Gambia, The',
 | 
				
			||||
  'Georgia',
 | 
				
			||||
  'Germany',
 | 
				
			||||
  'Ghana',
 | 
				
			||||
  'Greece',
 | 
				
			||||
  'Grenada',
 | 
				
			||||
  'Guatemala',
 | 
				
			||||
  'Guinea',
 | 
				
			||||
  'Guinea-Bissau',
 | 
				
			||||
  'Guyana',
 | 
				
			||||
  'Haiti',
 | 
				
			||||
  'Honduras',
 | 
				
			||||
  'Hungary',
 | 
				
			||||
  'Iceland',
 | 
				
			||||
  'India',
 | 
				
			||||
  'Indonesia',
 | 
				
			||||
  'Iran',
 | 
				
			||||
  'Iraq',
 | 
				
			||||
  'Ireland',
 | 
				
			||||
  'Israel',
 | 
				
			||||
  'Italy',
 | 
				
			||||
  'Jamaica',
 | 
				
			||||
  'Japan',
 | 
				
			||||
  'Jordan',
 | 
				
			||||
  'Kazakhstan',
 | 
				
			||||
  'Kenya',
 | 
				
			||||
  'Kiribati',
 | 
				
			||||
  'Korea, North',
 | 
				
			||||
  'Korea, South',
 | 
				
			||||
  'Kuwait',
 | 
				
			||||
  'Kyrgyzstan',
 | 
				
			||||
  'Laos',
 | 
				
			||||
  'Latvia',
 | 
				
			||||
  'Lebanon',
 | 
				
			||||
  'Lesotho',
 | 
				
			||||
  'Liberia',
 | 
				
			||||
  'Libya',
 | 
				
			||||
  'Liechtenstein',
 | 
				
			||||
  'Lithuania',
 | 
				
			||||
  'Luxembourg',
 | 
				
			||||
  'Macedonia',
 | 
				
			||||
  'Madagascar',
 | 
				
			||||
  'Malawi',
 | 
				
			||||
  'Malaysia',
 | 
				
			||||
  'Maldives',
 | 
				
			||||
  'Mali',
 | 
				
			||||
  'Malta',
 | 
				
			||||
  'Marshall Islands',
 | 
				
			||||
  'Mauritania',
 | 
				
			||||
  'Mauritius',
 | 
				
			||||
  'Mexico',
 | 
				
			||||
  'Micronesia',
 | 
				
			||||
  'Moldova',
 | 
				
			||||
  'Monaco',
 | 
				
			||||
  'Mongolia',
 | 
				
			||||
  'Morocco',
 | 
				
			||||
  'Mozambique',
 | 
				
			||||
  'Myanmar',
 | 
				
			||||
  'Namibia',
 | 
				
			||||
  'Nauru',
 | 
				
			||||
  'Nepal',
 | 
				
			||||
  'Netherlands',
 | 
				
			||||
  'New Zealand',
 | 
				
			||||
  'Nicaragua',
 | 
				
			||||
  'Niger',
 | 
				
			||||
  'Nigeria',
 | 
				
			||||
  'Norway',
 | 
				
			||||
  'Oman',
 | 
				
			||||
  'Pakistan',
 | 
				
			||||
  'Palau',
 | 
				
			||||
  'Panama',
 | 
				
			||||
  'Papua New Guinea',
 | 
				
			||||
  'Paraguay',
 | 
				
			||||
  'Peru',
 | 
				
			||||
  'Philippines',
 | 
				
			||||
  'Poland',
 | 
				
			||||
  'Portugal',
 | 
				
			||||
  'Qatar',
 | 
				
			||||
  'Romania',
 | 
				
			||||
  'Russia',
 | 
				
			||||
  'Rwanda',
 | 
				
			||||
  'Saint Kitts and Nevis',
 | 
				
			||||
  'Saint Lucia',
 | 
				
			||||
  'Saint Vincent',
 | 
				
			||||
  'Samoa',
 | 
				
			||||
  'San Marino',
 | 
				
			||||
  'Sao Tome and Principe',
 | 
				
			||||
  'Saudi Arabia',
 | 
				
			||||
  'Senegal',
 | 
				
			||||
  'Serbia and Montenegro',
 | 
				
			||||
  'Seychelles',
 | 
				
			||||
  'Sierra Leone',
 | 
				
			||||
  'Singapore',
 | 
				
			||||
  'Slovakia',
 | 
				
			||||
  'Slovenia',
 | 
				
			||||
  'Solomon Islands',
 | 
				
			||||
  'Somalia',
 | 
				
			||||
  'South Africa',
 | 
				
			||||
  'Spain',
 | 
				
			||||
  'Sri Lanka',
 | 
				
			||||
  'Sudan',
 | 
				
			||||
  'Suriname',
 | 
				
			||||
  'Swaziland',
 | 
				
			||||
  'Sweden',
 | 
				
			||||
  'Switzerland',
 | 
				
			||||
  'Syria',
 | 
				
			||||
  'Taiwan',
 | 
				
			||||
  'Tajikistan',
 | 
				
			||||
  'Tanzania',
 | 
				
			||||
  'Thailand',
 | 
				
			||||
  'Togo',
 | 
				
			||||
  'Tonga',
 | 
				
			||||
  'Trinidad and Tobago',
 | 
				
			||||
  'Tunisia',
 | 
				
			||||
  'Turkey',
 | 
				
			||||
  'Turkmenistan',
 | 
				
			||||
  'Tuvalu',
 | 
				
			||||
  'Uganda',
 | 
				
			||||
  'Ukraine',
 | 
				
			||||
  'United Arab Emirates',
 | 
				
			||||
  'United Kingdom',
 | 
				
			||||
  'United States',
 | 
				
			||||
  'Uruguay',
 | 
				
			||||
  'Uzbekistan',
 | 
				
			||||
  'Vanuatu',
 | 
				
			||||
  'Vatican City',
 | 
				
			||||
  'Venezuela',
 | 
				
			||||
  'Vietnam',
 | 
				
			||||
  'Yemen',
 | 
				
			||||
  'Zambia',
 | 
				
			||||
  'Zimbabwe'
 | 
				
			||||
]
 | 
				
			||||
@ -0,0 +1,17 @@
 | 
				
			||||
<!DOCTYPE html>
 | 
				
			||||
<html lang="en">
 | 
				
			||||
 | 
				
			||||
<head>
 | 
				
			||||
	<title>30DaysOfJavaScript:05 Day </title>
 | 
				
			||||
</head>
 | 
				
			||||
 | 
				
			||||
<body>
 | 
				
			||||
	<h1>30DaysOfJavaScript:05 Day</h1>
 | 
				
			||||
	<h2>Arrays</h2>
 | 
				
			||||
 | 
				
			||||
	<script src="./data/countries.js"></script>
 | 
				
			||||
	<script src="./scripts/main.js"></script>
 | 
				
			||||
 | 
				
			||||
</body>
 | 
				
			||||
 | 
				
			||||
</html>
 | 
				
			||||
@ -0,0 +1,3 @@
 | 
				
			||||
console.log(countries)
 | 
				
			||||
alert('Open the browser console whenever you work on JavaScript')
 | 
				
			||||
alert('Open the console and check if the countries has been loaded')
 | 
				
			||||
@ -0,0 +1,781 @@
 | 
				
			||||
<div align="center">
 | 
				
			||||
  <h1> 30 Dias de JavaScript: Arrays </h1>
 | 
				
			||||
  <a class="header-badge" target="_blank" href="https://www.linkedin.com/in/asabeneh/">
 | 
				
			||||
  <img src="https://img.shields.io/badge/style--5eba00.svg?label=LinkedIn&logo=linkedin&style=social">
 | 
				
			||||
  </a>
 | 
				
			||||
  <a class="header-badge" target="_blank" href="https://twitter.com/Asabeneh">
 | 
				
			||||
  <img alt="Seguir no Twitter" src="https://img.shields.io/twitter/follow/asabeneh?style=social">
 | 
				
			||||
  </a>
 | 
				
			||||
 | 
				
			||||
<sub>Autor:
 | 
				
			||||
<a href="https://www.linkedin.com/in/asabeneh/" target="_blank">Asabeneh Yetayeh</a><br>
 | 
				
			||||
<small> Janeiro, 2020</small>
 | 
				
			||||
</sub>
 | 
				
			||||
 | 
				
			||||
</div>
 | 
				
			||||
 | 
				
			||||
[<< Dia 4](../Dia_04_Condicionais.md) | [Dia 6 >>](../Dia_06_Loops/Dia_06_Loops.md)
 | 
				
			||||
 | 
				
			||||

 | 
				
			||||
 | 
				
			||||
- [📔 Dia 5](#-dia-5)
 | 
				
			||||
  - [Arrays](#arrays)
 | 
				
			||||
    - [Como criar um array vazio](#como-criar-um-array-vazio)
 | 
				
			||||
    - [Como criar um array com valores](#como-criar-um-array-com-valores)
 | 
				
			||||
    - [Criando um array usando split](#criando-um-array-usando-split)
 | 
				
			||||
    - [Acessando itens do array usando índice](#acessando-itens-do-array-usando-índice)
 | 
				
			||||
    - [Modificando elemento do array](#modificando-elemento-do-array)
 | 
				
			||||
    - [Métodos para manipular array](#métodos-para-manipular-array)
 | 
				
			||||
      - [Construtor de Array](#construtor-de-array)
 | 
				
			||||
      - [Criando valores estáticos com fill](#criando-valores-estáticos-com-fill)
 | 
				
			||||
      - [Concatenando array usando concat](#concatenando-array-usando-concat)
 | 
				
			||||
      - [Obtendo o tamanho do array](#obtendo-o-tamanho-do-array)
 | 
				
			||||
      - [Obtendo índice de um elemento no array](#obtendo-índice-de-um-elemento-no-array)
 | 
				
			||||
      - [Obtendo o último índice de um elemento no array](#obtendo-o-último-índice-de-um-elemento-no-array)
 | 
				
			||||
      - [Verificando array](#verificando-array)
 | 
				
			||||
      - [Convertendo array para string](#convertendo-array-para-string)
 | 
				
			||||
      - [Juntando elementos do array](#juntando-elementos-do-array)
 | 
				
			||||
      - [Fatiando elementos do array](#fatiando-elementos-do-array)
 | 
				
			||||
      - [Método splice em array](#método-splice-em-array)
 | 
				
			||||
      - [Adicionando item ao array usando push](#adicionando-item-ao-array-usando-push)
 | 
				
			||||
      - [Removendo o elemento final usando pop](#removendo-o-elemento-final-usando-pop)
 | 
				
			||||
      - [Removendo um elemento do início](#removendo-um-elemento-do-início)
 | 
				
			||||
      - [Adicionando um elemento no início](#adicionando-um-elemento-no-início)
 | 
				
			||||
      - [Invertendo a ordem do array](#invertendo-a-ordem-do-array)
 | 
				
			||||
      - [Ordenando elementos no array](#ordenando-elementos-no-array)
 | 
				
			||||
    - [Array de arrays](#array-de-arrays)
 | 
				
			||||
  - [💻 Exercício](#-exercício)
 | 
				
			||||
    - [Exercício: Nível 1](#exercício-nível-1)
 | 
				
			||||
    - [Exercício: Nível 2](#exercício-nível-2)
 | 
				
			||||
    - [Exercício: Nível 3](#exercício-nível-3)
 | 
				
			||||
 | 
				
			||||
# 📔 Dia 5
 | 
				
			||||
 | 
				
			||||
## Arrays
 | 
				
			||||
 | 
				
			||||
Ao contrário das variáveis, um array pode armazenar _vários valores_. Cada valor em um array tem um _índice_, e cada índice tem _uma referência em um endereço de memória_. Cada valor pode ser acessado usando seus _índices_. O índice de um array começa do _zero_, e o índice do último elemento é menor por um do que o comprimento do array.
 | 
				
			||||
 | 
				
			||||
Um array é uma coleção de diferentes tipos de dados que são ordenados e modificáveis. Um array permite armazenar elementos duplicados e diferentes tipos de dados. Um array pode estar vazio ou pode ter valores de diferentes tipos de dados.
 | 
				
			||||
 | 
				
			||||
### Como criar um array vazio
 | 
				
			||||
 | 
				
			||||
Em JavaScript, podemos criar um array de diferentes maneiras. Vamos ver diferentes formas de criar um array.
 | 
				
			||||
É muito comum usar _const_ em vez de _let_ para declarar uma variável de array. Se você usar const, significa que não usará esse nome de variável novamente.
 | 
				
			||||
 | 
				
			||||
- Usando o construtor Array
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
// sintaxe
 | 
				
			||||
const arr = Array();
 | 
				
			||||
// ou
 | 
				
			||||
// let arr = new Array()
 | 
				
			||||
console.log(arr); // []
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
- Usando colchetes([])
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
// sintaxe
 | 
				
			||||
// Esta é a maneira mais recomendada de criar uma lista vazia
 | 
				
			||||
const arr = [];
 | 
				
			||||
console.log(arr);
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
### Como criar um array com valores
 | 
				
			||||
 | 
				
			||||
Array com valores iniciais. Usamos a propriedade length para encontrar o comprimento de um array.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [0, 3.14, 9.81, 37, 98.6, 100]; // array de números
 | 
				
			||||
const frutas = ['banana', 'laranja', 'manga', 'limão']; // array de strings, frutas
 | 
				
			||||
const vegetais = ['Tomate', 'Batata', 'Repolho', 'Cebola', 'Cenoura']; // array de strings, vegetais
 | 
				
			||||
const produtosAnimais = ['leite', 'carne', 'manteiga', 'iogurte']; // array de strings, produtos
 | 
				
			||||
const webTechs = ['HTML', 'CSS', 'JS', 'React', 'Redux', 'Node', 'MongoDB']; // array de tecnologias web
 | 
				
			||||
const paises = ['Finlândia', 'Dinamarca', 'Suécia', 'Noruega', 'Islândia']; // array de strings, países
 | 
				
			||||
 | 
				
			||||
// Imprima o array e seu comprimento
 | 
				
			||||
 | 
				
			||||
console.log('Números:', numeros);
 | 
				
			||||
console.log('Quantidade de números:', numeros.length);
 | 
				
			||||
 | 
				
			||||
console.log('Frutas:', frutas);
 | 
				
			||||
console.log('Quantidade de frutas:', frutas.length);
 | 
				
			||||
 | 
				
			||||
console.log('Vegetais:', vegetais);
 | 
				
			||||
console.log('Quantidade de vegetais:', vegetais.length);
 | 
				
			||||
 | 
				
			||||
console.log('Produtos animais:', produtosAnimais);
 | 
				
			||||
console.log('Quantidade de produtos animais:', produtosAnimais.length);
 | 
				
			||||
 | 
				
			||||
console.log('Tecnologias web:', webTechs);
 | 
				
			||||
console.log('Quantidade de tecnologias web:', webTechs.length);
 | 
				
			||||
 | 
				
			||||
console.log('Países:', paises);
 | 
				
			||||
console.log('Quantidade de países:', paises.length);
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
```sh
 | 
				
			||||
Números: [0, 3.14, 9.81, 37, 98.6, 100]
 | 
				
			||||
Quantidade de números: 6
 | 
				
			||||
Frutas: ['banana', 'laranja', 'manga', 'limão']
 | 
				
			||||
Quantidade de frutas: 4
 | 
				
			||||
Vegetais: ['Tomate', 'Batata', 'Repolho', 'Cebola', 'Cenoura']
 | 
				
			||||
Quantidade de vegetais: 5
 | 
				
			||||
Produtos de origem animal: ['leite', 'carne', 'manteiga', 'iogurte']
 | 
				
			||||
Quantidade de produtos de origem animal: 4
 | 
				
			||||
Tecnologias web: ['HTML', 'CSS', 'JS', 'React', 'Redux', 'Node', 'MongoDB']
 | 
				
			||||
Quantidade de tecnologias web: 7
 | 
				
			||||
Países: ['Finlândia', 'Estônia', 'Dinamarca', 'Suécia', 'Noruega']
 | 
				
			||||
Quantidade de países: 5
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
- O array pode ter itens de diferentes tipos de dados
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const arr = [
 | 
				
			||||
  'Asabeneh',
 | 
				
			||||
  250,
 | 
				
			||||
  true,
 | 
				
			||||
  { country: 'Finlândia', city: 'Helsinque' },
 | 
				
			||||
  { skills: ['HTML', 'CSS', 'JS', 'React', 'Python'] },
 | 
				
			||||
]; // arr contendo diferentes tipos de dados
 | 
				
			||||
console.log(arr);
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
### Criando um array usando split
 | 
				
			||||
 | 
				
			||||
Como vimos na seção anterior, podemos dividir uma string em diferentes posições e transformá-la em um array. Vamos ver os exemplos abaixo.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
let js = 'JavaScript';
 | 
				
			||||
const charsInJavaScript = js.split('');
 | 
				
			||||
 | 
				
			||||
console.log(charsInJavaScript); // ["J", "a", "v", "a", "S", "c", "r", "i", "p", "t"]
 | 
				
			||||
 | 
				
			||||
let companiesString = 'Facebook, Google, Microsoft, Apple, IBM, Oracle, Amazon';
 | 
				
			||||
const companies = companiesString.split(',');
 | 
				
			||||
 | 
				
			||||
console.log(companies); // ["Facebook", " Google", " Microsoft", " Apple", " IBM", " Oracle", " Amazon"]
 | 
				
			||||
let txt =
 | 
				
			||||
  'Eu amo ensinar e empoderar pessoas. Eu ensino HTML, CSS, JS, React, Python.';
 | 
				
			||||
const words = txt.split(' ');
 | 
				
			||||
 | 
				
			||||
console.log(words);
 | 
				
			||||
// o texto tem caracteres especiais, pense como você pode obter apenas as palavras
 | 
				
			||||
// ["Eu", "amo", "ensinar", "e", "empoderar", "pessoas.", "Eu", "ensino", "HTML,", "CSS,", "JS,", "React,", "Python"]
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
### Acessando itens do array usando índice
 | 
				
			||||
 | 
				
			||||
Acessamos cada elemento em um array usando seu índice. O índice de um array começa do 0. A imagem abaixo mostra claramente o índice de cada elemento no array.
 | 
				
			||||
 | 
				
			||||

 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const frutas = ['banana', 'laranja', 'manga', 'limão'];
 | 
				
			||||
let primeiraFruta = frutas[0]; // estamos acessando o primeiro item usando seu índice
 | 
				
			||||
 | 
				
			||||
console.log(primeiraFruta); // banana
 | 
				
			||||
 | 
				
			||||
let segundaFruta = frutas[1];
 | 
				
			||||
console.log(segundaFruta); // laranja
 | 
				
			||||
 | 
				
			||||
let ultimaFruta = frutas[3];
 | 
				
			||||
console.log(ultimaFruta); // limão
 | 
				
			||||
// O último índice pode ser calculado da seguinte forma
 | 
				
			||||
 | 
				
			||||
let ultimoIndice = frutas.length - 1;
 | 
				
			||||
ultimaFruta = frutas[ultimoIndice];
 | 
				
			||||
 | 
				
			||||
console.log(ultimaFruta); // limão
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [0, 3.14, 9.81, 37, 98.6, 100]; // conjunto de números
 | 
				
			||||
 | 
				
			||||
console.log(numeros.length); // => para saber o tamanho do array, que é 6
 | 
				
			||||
console.log(numeros); // -> [0, 3.14, 9.81, 37, 98.6, 100]
 | 
				
			||||
console.log(numeros[0]); // -> 0
 | 
				
			||||
console.log(numeros[5]); // -> 100
 | 
				
			||||
 | 
				
			||||
let ultimoIndice = numeros.length - 1;
 | 
				
			||||
console.log(numeros[ultimoIndice]); // -> 100
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const webTechs = [
 | 
				
			||||
  'HTML',
 | 
				
			||||
  'CSS',
 | 
				
			||||
  'JavaScript',
 | 
				
			||||
  'React',
 | 
				
			||||
  'Redux',
 | 
				
			||||
  'Node',
 | 
				
			||||
  'MongoDB',
 | 
				
			||||
]; // Lista de tecnologias web
 | 
				
			||||
 | 
				
			||||
console.log(webTechs); // todos os itens do array
 | 
				
			||||
console.log(webTechs.length); // => para saber o tamanho do array, que é 7
 | 
				
			||||
console.log(webTechs[0]); // -> HTML
 | 
				
			||||
console.log(webTechs[6]); // -> MongoDB
 | 
				
			||||
 | 
				
			||||
ultimoIndice = webTechs.length - 1;
 | 
				
			||||
console.log(webTechs[ultimoIndice]); // -> MongoDB
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const paises = [
 | 
				
			||||
  'Albânia',
 | 
				
			||||
  'Bolívia',
 | 
				
			||||
  'Canadá',
 | 
				
			||||
  'Dinamarca',
 | 
				
			||||
  'Etiópia',
 | 
				
			||||
  'Finlândia',
 | 
				
			||||
  'Alemanha',
 | 
				
			||||
  'Hungria',
 | 
				
			||||
  'Irlanda',
 | 
				
			||||
  'Japão',
 | 
				
			||||
  'Quênia',
 | 
				
			||||
]; // Lista de países
 | 
				
			||||
 | 
				
			||||
console.log(paises); // -> todos os países no array
 | 
				
			||||
console.log(paises[0]); // -> Albânia
 | 
				
			||||
console.log(paises[10]); // -> Quênia
 | 
				
			||||
 | 
				
			||||
ultimoIndice = paises.length - 1;
 | 
				
			||||
console.log(paises[ultimoIndice]); // -> Quênia
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const carrinhoDeCompras = [
 | 
				
			||||
  'Leite',
 | 
				
			||||
  'Manga',
 | 
				
			||||
  'Tomate',
 | 
				
			||||
  'Batata',
 | 
				
			||||
  'Abacate',
 | 
				
			||||
  'Carne',
 | 
				
			||||
  'Ovos',
 | 
				
			||||
  'Açúcar',
 | 
				
			||||
]; // Lista de produtos alimentícios
 | 
				
			||||
 | 
				
			||||
console.log(carrinhoDeCompras); // -> todo o carrinho de compras no array
 | 
				
			||||
console.log(carrinhoDeCompras[0]); // -> Leite
 | 
				
			||||
console.log(carrinhoDeCompras[7]); // -> Açúcar
 | 
				
			||||
 | 
				
			||||
ultimoIndice = carrinhoDeCompras.length - 1;
 | 
				
			||||
console.log(carrinhoDeCompras[ultimoIndice]); // -> Açúcar
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
### Modificando elemento do array
 | 
				
			||||
 | 
				
			||||
Um array é mutável (modificável). Uma vez que um array é criado, podemos modificar o conteúdo dos elementos do array.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5];
 | 
				
			||||
numeros[0] = 10; // alterando 1 no índice 0 para 10
 | 
				
			||||
numeros[1] = 20; // alterando 2 no índice 1 para 20
 | 
				
			||||
 | 
				
			||||
console.log(numeros); // [10, 20, 3, 4, 5]
 | 
				
			||||
 | 
				
			||||
const paises = [
 | 
				
			||||
  'Albânia',
 | 
				
			||||
  'Bolívia',
 | 
				
			||||
  'Canadá',
 | 
				
			||||
  'Dinamarca',
 | 
				
			||||
  'Etiópia',
 | 
				
			||||
  'Finlândia',
 | 
				
			||||
  'Alemanha',
 | 
				
			||||
  'Hungria',
 | 
				
			||||
  'Irlanda',
 | 
				
			||||
  'Japão',
 | 
				
			||||
  'Quênia',
 | 
				
			||||
];
 | 
				
			||||
 | 
				
			||||
paises[0] = 'Afeganistão'; // Substituindo Albânia por Afeganistão
 | 
				
			||||
let ultimoIndice = paises.length - 1;
 | 
				
			||||
paises[ultimoIndice] = 'Coreia'; // Substituindo Quênia por Coreia
 | 
				
			||||
 | 
				
			||||
console.log(paises);
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
```sh
 | 
				
			||||
["Afghanistan", "Bolivia", "Canada", "Denmark", "Ethiopia", "Finland", "Germany", "Hungary", "Ireland", "Japan", "Korea"]
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
### Métodos para manipular array
 | 
				
			||||
 | 
				
			||||
Existem diferentes métodos para manipular um array. Estes são alguns dos métodos disponíveis para lidar com arrays: _Array, length, concat, indexOf, slice, splice, join, toString, includes, lastIndexOf, isArray, fill, push, pop, shift, unshift_
 | 
				
			||||
 | 
				
			||||
#### Construtor de Array
 | 
				
			||||
 | 
				
			||||
Array:Para criar um array.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const arr = Array(); // cria um array vazio
 | 
				
			||||
console.log(arr);
 | 
				
			||||
 | 
				
			||||
const oitoValoresVazios = Array(8); // cria oito valores vazios
 | 
				
			||||
console.log(oitoValoresVazios); // [vazio x 8]
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Criando valores estáticos com fill
 | 
				
			||||
 | 
				
			||||
fill: Preenche todos os elementos do array com um valor estático
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const arr = Array(); // cria um array vazio
 | 
				
			||||
console.log(arr);
 | 
				
			||||
 | 
				
			||||
const oitoValoresX = Array(8).fill('X'); // cria oito valores de elementos preenchidos com 'X'
 | 
				
			||||
console.log(oitoValoresX); // ['X', 'X', 'X', 'X', 'X', 'X', 'X', 'X']
 | 
				
			||||
 | 
				
			||||
const oitoValores0 = Array(8).fill(0); // cria oito valores de elementos preenchidos com '0'
 | 
				
			||||
console.log(oitoValores0); // [0, 0, 0, 0, 0, 0, 0, 0]
 | 
				
			||||
 | 
				
			||||
const quatroValores4 = Array(4).fill(4); // cria 4 valores de elementos preenchidos com '4'
 | 
				
			||||
console.log(quatroValores4); // [4, 4, 4, 4]
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Concatenando array usando concat
 | 
				
			||||
 | 
				
			||||
concat:Para concatenar dois arrays.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const primeiraLista = [1, 2, 3];
 | 
				
			||||
const segundaLista = [4, 5, 6];
 | 
				
			||||
const terceiraLista = primeiraLista.concat(segundaLista);
 | 
				
			||||
 | 
				
			||||
console.log(terceiraLista); // [1, 2, 3, 4, 5, 6]
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const frutas = ['banana', 'laranja', 'manga', 'limão']; // array de frutas
 | 
				
			||||
const vegetais = ['Tomate', 'Batata', 'Repolho', 'Cebola', 'Cenoura']; // array de vegetais
 | 
				
			||||
const frutasEVegetais = frutas.concat(vegetais); // concatena os dois arrays
 | 
				
			||||
 | 
				
			||||
console.log(frutasEVegetais);
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
```sh
 | 
				
			||||
["banana", "orange", "mango", "lemon", "Tomato", "Potato", "Cabbage", "Onion", "Carrot"]
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Obtendo o tamanho do array
 | 
				
			||||
 | 
				
			||||
Length:Para saber o tamanho do array
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5];
 | 
				
			||||
console.log(numeros.length); // -> 5 é o tamanho do array
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Obtendo índice de um elemento no array
 | 
				
			||||
 | 
				
			||||
indexOf:Para verificar se um item existe em um array. Se existir, retorna o índice; caso contrário, retorna -1.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5];
 | 
				
			||||
 | 
				
			||||
console.log(numeros.indexOf(5)); // -> 4
 | 
				
			||||
console.log(numeros.indexOf(0)); // -> -1
 | 
				
			||||
console.log(numeros.indexOf(1)); // -> 0
 | 
				
			||||
console.log(numeros.indexOf(6)); // -> -1
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
Verificar se um elemento existe em um array.
 | 
				
			||||
 | 
				
			||||
- Verifica itens em um array
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const frutas = ['banana', 'laranja', 'manga', 'limão'];
 | 
				
			||||
let indice = frutas.indexOf('banana');  // 0
 | 
				
			||||
 | 
				
			||||
if(indice === -1){
 | 
				
			||||
   console.log('Esta fruta não existe no array');
 | 
				
			||||
} else {
 | 
				
			||||
    console.log('Esta fruta existe no array');
 | 
				
			||||
}
 | 
				
			||||
// Esta fruta existe no array
 | 
				
			||||
 | 
				
			||||
// nos podemos usar ternario tambem
 | 
				
			||||
index === -1
 | 
				
			||||
  ? console.log('Esta fruta não existe no array');
 | 
				
			||||
  : console.log('Esta fruta existe no array');
 | 
				
			||||
 | 
				
			||||
// vamos verificar se abacate existe no array
 | 
				
			||||
indice = frutas.indexOf('abacate');  // -1, se o elemento não for encontrado, o índice é -1
 | 
				
			||||
if(indice === -1){
 | 
				
			||||
   console.log('Esta fruta não existe no array');
 | 
				
			||||
} else {
 | 
				
			||||
    console.log('Esta fruta existe no array');
 | 
				
			||||
}
 | 
				
			||||
// Esta fruta não existe no array
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Obtendo o último índice de um elemento no array
 | 
				
			||||
 | 
				
			||||
lastIndexOf: Fornece a posição do último item no array. Se existir, retorna o índice; caso contrário, retorna -1.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5, 3, 1, 2];
 | 
				
			||||
 | 
				
			||||
console.log(numeros.lastIndexOf(2)); // 7
 | 
				
			||||
console.log(numeros.lastIndexOf(0)); // -1
 | 
				
			||||
console.log(numeros.lastIndexOf(1)); //  6
 | 
				
			||||
console.log(numeros.lastIndexOf(4)); //  3
 | 
				
			||||
console.log(numeros.lastIndexOf(6)); // -1
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
includes: Para verificar se um item existe em um array. Se existir, retorna verdadeiro; caso contrário, retorna falso.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
// const numbers = [1, 2, 3, 4, 5];
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5];
 | 
				
			||||
 | 
				
			||||
console.log(numbers.includes(5)); // verdadeiro
 | 
				
			||||
console.log(numbers.includes(0)); // falso
 | 
				
			||||
console.log(numbers.includes(1)); // verdadeiro
 | 
				
			||||
console.log(numbers.includes(6)); // falso
 | 
				
			||||
 | 
				
			||||
const webTechs = [
 | 
				
			||||
  'HTML',
 | 
				
			||||
  'CSS',
 | 
				
			||||
  'JavaScript',
 | 
				
			||||
  'React',
 | 
				
			||||
  'Redux',
 | 
				
			||||
  'Node',
 | 
				
			||||
  'MongoDB',
 | 
				
			||||
]; // List of web technologies
 | 
				
			||||
 | 
				
			||||
console.log(webTechs.includes('Node')); // verdadeiro
 | 
				
			||||
console.log(webTechs.includes('C')); // falso
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Verificando array
 | 
				
			||||
 | 
				
			||||
Array.isArray:Para verificar se o tipo de dado é um array
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numbers = [1, 2, 3, 4, 5];
 | 
				
			||||
console.log(Array.isArray(numbers)); // verdadeiro
 | 
				
			||||
 | 
				
			||||
const number = 100;
 | 
				
			||||
console.log(Array.isArray(number)); // falso
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Convertendo array para string
 | 
				
			||||
 | 
				
			||||
toString: Converte o array para string
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numbers = [1, 2, 3, 4, 5];
 | 
				
			||||
console.log(numbers.toString()); // 1,2,3,4,5
 | 
				
			||||
 | 
				
			||||
const names = ['Asabeneh', 'Mathias', 'Elias', 'Brook'];
 | 
				
			||||
console.log(names.toString()); // Asabeneh,Mathias,Elias,Brook
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Juntando elementos do array
 | 
				
			||||
 | 
				
			||||
join: É usado para juntar os elementos do array, o argumento passado no método join será utilizado para unir os elementos do array e retornar como uma string. Por padrão, ele junta com uma vírgula, mas podemos passar diferentes parâmetros de string que podem ser unidos entre os itens.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numbers = [1, 2, 3, 4, 5];
 | 
				
			||||
console.log(numbers.join()); // 1,2,3,4,5
 | 
				
			||||
 | 
				
			||||
const names = ['Asabeneh', 'Mathias', 'Elias', 'Brook'];
 | 
				
			||||
 | 
				
			||||
console.log(names.join()); // Asabeneh,Mathias,Elias,Brook
 | 
				
			||||
console.log(names.join('')); //AsabenehMathiasEliasBrook
 | 
				
			||||
console.log(names.join(' ')); //Asabeneh Mathias Elias Brook
 | 
				
			||||
console.log(names.join(', ')); //Asabeneh, Mathias, Elias, Brook
 | 
				
			||||
console.log(names.join(' # ')); //Asabeneh # Mathias # Elias # Brook
 | 
				
			||||
 | 
				
			||||
const webTechs = [
 | 
				
			||||
  'HTML',
 | 
				
			||||
  'CSS',
 | 
				
			||||
  'JavaScript',
 | 
				
			||||
  'React',
 | 
				
			||||
  'Redux',
 | 
				
			||||
  'Node',
 | 
				
			||||
  'MongoDB',
 | 
				
			||||
]; // List of web technologies
 | 
				
			||||
 | 
				
			||||
console.log(webTechs.join()); // "HTML,CSS,JavaScript,React,Redux,Node,MongoDB"
 | 
				
			||||
console.log(webTechs.join(' # ')); // "HTML # CSS # JavaScript # React # Redux # Node # MongoDB"
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Fatiando elementos do array
 | 
				
			||||
 | 
				
			||||
Slice: Para cortar múltiplos itens em um intervalo. Ele recebe dois parâmetros: posição inicial e final. Não inclui a posição final.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5];
 | 
				
			||||
 | 
				
			||||
console.log(numeros.slice()); // -> copia todos os itens
 | 
				
			||||
console.log(numeros.slice(0)); // -> copia todos os itens
 | 
				
			||||
console.log(numeros.slice(0, numeros.length)); // copia todos os itens
 | 
				
			||||
console.log(numeros.slice(1, 4)); // -> [2, 3, 4] // não inclui a posição final
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Método splice em array
 | 
				
			||||
 | 
				
			||||
Splice: Recebe três parâmetros: Posição inicial, número de itens a serem removidos e número de itens a serem adicionados.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5];
 | 
				
			||||
numeros.splice();
 | 
				
			||||
console.log(numeros); // -> remove todos os itens
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5];
 | 
				
			||||
numeros.splice(0, 1);
 | 
				
			||||
console.log(numeros); // remove o primeiro item
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5, 6];
 | 
				
			||||
numeros.splice(3, 3, 7, 8, 9);
 | 
				
			||||
console.log(numeros); // -> [1, 2, 3, 7, 8, 9] // remove três itens e substitui por três itens
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Adicionando item ao array usando push
 | 
				
			||||
 | 
				
			||||
Push: adicionando item no final. Para adicionar item ao final de um array existente usamos o método push.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
// syntax
 | 
				
			||||
const arr = ['item1', 'item2', 'item3'];
 | 
				
			||||
arr.push('novo item');
 | 
				
			||||
console.log(arr); //
 | 
				
			||||
// ['item1', 'item2', 'item3', 'novo item']
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5];
 | 
				
			||||
numeros.push(6);
 | 
				
			||||
console.log(numeros); // -> [1, 2, 3, 4, 5, 6]
 | 
				
			||||
 | 
				
			||||
numeros.pop(); // -> remove um item do final
 | 
				
			||||
console.log(numeros); // -> [1, 2, 3, 4, 5]
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
let fruits = ['banana', 'orange', 'mango', 'lemon'];
 | 
				
			||||
fruits.push('apple');
 | 
				
			||||
console.log(fruits); // ['banana', 'orange', 'mango', 'lemon', 'apple']
 | 
				
			||||
 | 
				
			||||
fruits.push('lime');
 | 
				
			||||
console.log(fruits); // ['banana', 'orange', 'mango', 'lemon', 'apple', 'lime']
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Removendo o elemento final usando pop
 | 
				
			||||
 | 
				
			||||
pop: Removendo item no final.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5];
 | 
				
			||||
numeros.pop(); // -> remove um item do final
 | 
				
			||||
console.log(numeros); // -> [1, 2, 3, 4]
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Removendo um elemento do início
 | 
				
			||||
 | 
				
			||||
shift: Removendo um elemento do array no início do array.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5];
 | 
				
			||||
numeros.shift(); // -> remove um item do início
 | 
				
			||||
console.log(numeros); // -> [2, 3, 4, 5]
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Adicionando um elemento no início
 | 
				
			||||
 | 
				
			||||
unshift: Adicionando um elemento no início do array.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5];
 | 
				
			||||
numeros.unshift(0); // -> adiciona um item no início
 | 
				
			||||
console.log(numeros); // -> [0, 1, 2, 3, 4, 5]
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Invertendo a ordem do array
 | 
				
			||||
 | 
				
			||||
reverse: inverte a ordem de um array
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const numeros = [1, 2, 3, 4, 5];
 | 
				
			||||
numeros.reverse(); // -> inverte a ordem do array
 | 
				
			||||
console.log(numeros); // [5, 4, 3, 2, 1]
 | 
				
			||||
 | 
				
			||||
numeros.reverse();
 | 
				
			||||
console.log(numeros); // [1, 2, 3, 4, 5]
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
#### Ordenando elementos no array
 | 
				
			||||
 | 
				
			||||
sort: organiza os elementos do array em ordem ascendente. Sort aceita uma função de callback, veremos como usar sort com uma função de callback nas próximas seções.
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const webTechs = [
 | 
				
			||||
  'HTML',
 | 
				
			||||
  'CSS',
 | 
				
			||||
  'JavaScript',
 | 
				
			||||
  'React',
 | 
				
			||||
  'Redux',
 | 
				
			||||
  'Node',
 | 
				
			||||
  'MongoDB',
 | 
				
			||||
];
 | 
				
			||||
 | 
				
			||||
webTechs.sort();
 | 
				
			||||
console.log(webTechs); // ["CSS", "HTML", "JavaScript", "MongoDB", "Node", "React", "Redux"]
 | 
				
			||||
 | 
				
			||||
webTechs.reverse(); // after sorting we can reverse it
 | 
				
			||||
console.log(webTechs); // ["Redux", "React", "Node", "MongoDB", "JavaScript", "HTML", "CSS"]
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
### Array de arrays
 | 
				
			||||
 | 
				
			||||
Um array pode armazenar diferentes tipos de dados, incluindo outro array. Vamos criar um array de arrays:
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const primeirosNumeros = [1, 2, 3];
 | 
				
			||||
const segundosNumeros = [1, 4, 9];
 | 
				
			||||
 | 
				
			||||
const arrayOfArray = [
 | 
				
			||||
  [1, 2, 3],
 | 
				
			||||
  [1, 2, 3],
 | 
				
			||||
];
 | 
				
			||||
console.log(arrayOfArray[0]); // [1, 2, 3]
 | 
				
			||||
 | 
				
			||||
const frontEnd = ['HTML', 'CSS', 'JS', 'React', 'Redux'];
 | 
				
			||||
const backEnd = ['Node', 'Express', 'MongoDB'];
 | 
				
			||||
const fullStack = [frontEnd, backEnd];
 | 
				
			||||
console.log(fullStack); // [["HTML", "CSS", "JS", "React", "Redux"], ["Node", "Express", "MongoDB"]]
 | 
				
			||||
console.log(fullStack.length); // 2
 | 
				
			||||
console.log(fullStack[0]); // ["HTML", "CSS", "JS", "React", "Redux"]
 | 
				
			||||
console.log(fullStack[1]); // ["Node", "Express", "MongoDB"]
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
🌕 Você é diligente e já alcançou bastante. Acabou de completar os desafios do dia 5 e está cinco passos à frente no seu caminho para a grandeza. Agora faça alguns exercícios para o seu cérebro e para o seu músculo.
 | 
				
			||||
 | 
				
			||||
## 💻 Exercício
 | 
				
			||||
 | 
				
			||||
### Exercício: Nível 1
 | 
				
			||||
 | 
				
			||||
```js
 | 
				
			||||
const countries = [
 | 
				
			||||
  'Albania',
 | 
				
			||||
  'Bolivia',
 | 
				
			||||
  'Canada',
 | 
				
			||||
  'Denmark',
 | 
				
			||||
  'Ethiopia',
 | 
				
			||||
  'Finland',
 | 
				
			||||
  'Germany',
 | 
				
			||||
  'Hungary',
 | 
				
			||||
  'Ireland',
 | 
				
			||||
  'Japan',
 | 
				
			||||
  'Kenya',
 | 
				
			||||
];
 | 
				
			||||
 | 
				
			||||
const webTechs = [
 | 
				
			||||
  'HTML',
 | 
				
			||||
  'CSS',
 | 
				
			||||
  'JavaScript',
 | 
				
			||||
  'React',
 | 
				
			||||
  'Redux',
 | 
				
			||||
  'Node',
 | 
				
			||||
  'MongoDB',
 | 
				
			||||
];
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
1. Declare um array vazio;
 | 
				
			||||
2. Declare um array com mais de 5 elementos;
 | 
				
			||||
3. Encontre o comprimento do seu array;
 | 
				
			||||
4. Obtenha o primeiro item, o item do meio e o último item do array;
 | 
				
			||||
5. Declare um array chamado mixedDataTypes, coloque diferentes tipos de dados no array e encontre o comprimento do array. O tamanho do array deve ser maior que 5;
 | 
				
			||||
6. Declare uma variável de array nomeada itCompanies e atribua valores iniciais como Facebook, Google, Microsoft, Apple, IBM, Oracle e Amazon;
 | 
				
			||||
7. Imprima o array usando console.log();
 | 
				
			||||
8. Imprima o número de empresas no array;
 | 
				
			||||
9. Imprima a primeira empresa, a empresa do meio e a última empresa;
 | 
				
			||||
10. Imprima cada empresa;
 | 
				
			||||
11. Mude cada nome da empresa para maiúsculas uma a uma e imprima-as;
 | 
				
			||||
12. Imprima o array como uma frase: Facebook, Google, Microsoft, Apple, IBM, Oracle e Amazon são grandes empresas de TI.
 | 
				
			||||
13. Verifique se uma determinada empresa existe no array itCompanies. Se existir, retorne a empresa, caso contrário, retorne uma mensagem de empresa não encontrada;
 | 
				
			||||
14. Filtre empresas que têm mais de um 'o' sem usar o método filter;
 | 
				
			||||
15. Ordene o array usando o método sort();
 | 
				
			||||
16. Reverta o array usando o método reverse();
 | 
				
			||||
17. Fatie os primeiros 3 empresas do array;
 | 
				
			||||
18. Fatie as últimas 3 empresas do array;
 | 
				
			||||
19. Fatie a empresa ou empresas do meio do array;
 | 
				
			||||
20. Remova a primeira empresa do array;
 | 
				
			||||
21. Remova a empresa ou empresas do meio do array;
 | 
				
			||||
22. Remova a última empresa do array;
 | 
				
			||||
23. Remova todas as empresas de TI;
 | 
				
			||||
 | 
				
			||||
### Exercício: Nível 2
 | 
				
			||||
 | 
				
			||||
1. Crie um arquivo countries.js separado e armazene o array countries nele, crie um arquivo web_techs.js separado e armazene o array webTechs nele. Acesse ambos os arquivos no arquivo main.js;
 | 
				
			||||
1. Primeiro remova todas as pontuações e mude a string para array e conte o número de palavras no array;
 | 
				
			||||
 | 
				
			||||
   ```js
 | 
				
			||||
   let texto =
 | 
				
			||||
     'Eu amo ensinar e empoderar pessoas. Eu ensino HTML, CSS, JS, React, Python.';
 | 
				
			||||
   console.log(palavras);
 | 
				
			||||
   console.log(palavras.length);
 | 
				
			||||
   ```
 | 
				
			||||
 | 
				
			||||
   ```sh
 | 
				
			||||
   ["I", "love", "teaching", "and", "empowering", "people", "I", "teach", "HTML", "CSS", "JS", "React", "Python"]
 | 
				
			||||
 | 
				
			||||
   13
 | 
				
			||||
   ```
 | 
				
			||||
 | 
				
			||||
1. No carrinho de compras seguinte, adicione, remova, edite itens;
 | 
				
			||||
 | 
				
			||||
   ```js
 | 
				
			||||
   const carrinhoDeCompras = ['Leite', 'Café', 'Chá', 'Mel'];
 | 
				
			||||
   ```
 | 
				
			||||
 | 
				
			||||
   - adicione 'Carne' no início do seu carrinho de compras se ainda não foi adicionado;
 | 
				
			||||
   - adicione Açúcar no final do seu carrinho de compras se ainda não foi adicionado;
 | 
				
			||||
   - remova 'Mel' se você for alérgico a mel;
 | 
				
			||||
   - modifique Chá para 'Chá Verde';
 | 
				
			||||
 | 
				
			||||
1. Verifique no array countries se 'Etiópia' existe no array, se existir, imprima 'ETIÓPIA'. Se não existir, adicione ao array countries.
 | 
				
			||||
1. No array webTechs, verifique se Sass existe no array e, se existir, imprima 'Sass é um preprocessador CSS'. Se não existir, adicione Sass ao array e imprima o array.
 | 
				
			||||
1. Concatene os seguintes dois variáveis e armazene em uma variável fullStack.
 | 
				
			||||
 | 
				
			||||
   ```js
 | 
				
			||||
   const frontEnd = ['HTML', 'CSS', 'JS', 'React', 'Redux'];
 | 
				
			||||
   const backEnd = ['Node', 'Express', 'MongoDB'];
 | 
				
			||||
 | 
				
			||||
   console.log(fullStack);
 | 
				
			||||
   ```
 | 
				
			||||
 | 
				
			||||
   ```sh
 | 
				
			||||
   ["HTML", "CSS", "JS", "React", "Redux", "Node", "Express", "MongoDB"]
 | 
				
			||||
   ```
 | 
				
			||||
 | 
				
			||||
### Exercício: Nível 3
 | 
				
			||||
 | 
				
			||||
1.  A seguir está um array com as idades de 10 estudantes:
 | 
				
			||||
 | 
				
			||||
        ```js
 | 
				
			||||
        const idades = [19, 22, 19, 24, 20, 25, 26, 24, 25, 24]
 | 
				
			||||
        ```
 | 
				
			||||
 | 
				
			||||
        - Ordene o array e encontre a idade mínima e máxima
 | 
				
			||||
        - Encontre a idade mediana (um item do meio ou dois itens do meio divididos por dois)
 | 
				
			||||
        - Encontre a idade média (todas as idades divididas pelo número de itens)
 | 
				
			||||
        - Encontre o intervalo das idades (máxima menos mínima)
 | 
				
			||||
        - Compare o valor de (mínima - média) e (máxima - média), use o método _abs()_
 | 
				
			||||
 | 
				
			||||
    1.Fatie os dez primeiros países do [array de países](https://github.com/Asabeneh/30DaysOfJavaScript/tree/master/data/countries.js)
 | 
				
			||||
 | 
				
			||||
1.  Encontre o(s) país(es) do meio no [array de países](https://github.com/Asabeneh/30DaysOfJavaScript/tree/master/data/countries.js)
 | 
				
			||||
1.  Divida o array de países em dois arrays iguais se for par. Se o array de países não for par, adicione um país a mais para a primeira metade.
 | 
				
			||||
 | 
				
			||||
🎉 PARABÉNS ! 🎉
 | 
				
			||||
 | 
				
			||||
[<< Day 4](../Dia_04_Condicionais/Dia_04_condicionais.md) | [Day 6 >>](../Dia_06_Loops/dia_06_loops.md)
 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue