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