diff --git a/Italian/07_Day_Functions/07_day_functions.md b/Italian/07_Day_Functions/07_day_functions.md index e0b71ef2..bf2f110a 100644 --- a/Italian/07_Day_Functions/07_day_functions.md +++ b/Italian/07_Day_Functions/07_day_functions.md @@ -594,23 +594,23 @@ Verrà trattato in un'altra sezione. The number of evens are 51. ``` -14. Write a function which takes any number of arguments and return the sum of the arguments +14. Scrivere una funzione che accetta un numero qualsiasi di argomenti e restituisce la somma degli argomenti. ```js sum(1, 2, 3) // -> 6 sum(1, 2, 3, 4) // -> 10 ``` -15. Writ a function which generates a _randomUserIp_. -16. Write a function which generates a _randomMacAddress_ -17. Declare a function name _randomHexaNumberGenerator_. When this function is called it generates a random hexadecimal number. The function return the hexadecimal number. +15. Scrivere una funzione che generi un _randomUserIp_. +16. Scrivere una funzione che generi un _randomMacAddress_. +17. Dichiarare il nome di una funzione _randomHexaNumberGenerator_. Quando questa funzione viene chiamata, genera un numero esadecimale casuale. La funzione restituisce il numero esadecimale. ```sh console.log(randomHexaNumberGenerator()); '#ee33df' ``` -18. Declare a function name _userIdGenerator_. When this function is called it generates seven character id. The function return the id. +18. Dichiarare il nome della funzione _userIdGenerator_. Quando questa funzione viene chiamata, genera un id di sette caratteri. La funzione restituisce l'id. ```sh console.log(userIdGenerator()); @@ -619,7 +619,7 @@ Verrà trattato in un'altra sezione. ### Esercizi: Livello 3 -1. Modify the _userIdGenerator_ function. Declare a function name _userIdGeneratedByUser_. It doesn’t take any parameter but it takes two inputs using prompt(). One of the input is the number of characters and the second input is the number of ids which are supposed to be generated. +1. Modificare la funzione _userIdGenerator_. Dichiarare il nome della funzione _userIdGeneratedByUser_. Non accetta alcun parametro, ma prende due input tramite prompt(). Uno di questi è il numero di caratteri e il secondo è il numero di ID che devono essere generati. ```sh userIdGeneratedByUser() @@ -638,18 +638,18 @@ Verrà trattato in un'altra sezione. ' ``` -2. Write a function name _rgbColorGenerator_ and it generates rgb colors. +2. Scrivete una funzione chiamata _rgbColorGenerator_ che genera i colori rgb. ```sh rgbColorGenerator() rgb(125,244,255) ``` -3. Write a function **_arrayOfHexaColors_** which return any number of hexadecimal colors in an array. -4. Write a function **_arrayOfRgbColors_** which return any number of RGB colors in an array. -5. Write a function **_convertHexaToRgb_** which converts hexa color to rgb and it returns an rgb color. -6. Write a function **_convertRgbToHexa_** which converts rgb to hexa color and it returns an hexa color. -7. Write a function **_generateColors_** which can generate any number of hexa or rgb colors. +3. Scrivere una funzione **_arrayOfHexaColors_** che restituisca un numero qualsiasi di colori esadecimali in un array. +4. Scrivete una funzione **_arrayOfRgbColors_** che restituisca un numero qualsiasi di colori RGB in una matrice. +5. Scrivere una funzione **_convertHexaToRgb_** che converta il colore hexa in rgb e restituisca un colore rgb. +6. Scrivere una funzione **_convertRgbToHexa_** che converta il colore rgb in hexa e restituisca un colore hexa. +7. Scrivere una funzione **_generateColors_** che possa generare un numero qualsiasi di colori hexa o rgb. ```js console.log(generateColors('hexa', 3)) // ['#a3e12f', '#03ed55', '#eb3d2b'] @@ -658,13 +658,13 @@ Verrà trattato in un'altra sezione. console.log(generateColors('rgb', 1)) // 'rgb(33,79, 176)' ``` -8. Call your function _shuffleArray_, it takes an array as a parameter and it returns a shuffled array -9. Call your function _factorial_, it takes a whole number as a parameter and it return a factorial of the number -10. Call your function _isEmpty_, it takes a parameter and it checks if it is empty or not -11. Call your function _sum_, it takes any number of arguments and it returns the sum. -12. Write a function called _sumOfArrayItems_, it takes an array parameter and return the sum of all the items. Check if all the array items are number types. If not give return reasonable feedback. -13. Write a function called _average_, it takes an array parameter and returns the average of the items. Check if all the array items are number types. If not give return reasonable feedback. -14. Write a function called _modifyArray_ takes array as parameter and modifies the fifth item of the array and return the array. If the array length is less than five it return 'item not found'. +8. Chiamare la funzione _shuffleArray_, che prende un array come parametro e restituisce un array mescolato. +9. Chiamate la vostra funzione _factorial_, che prende un numero intero come parametro e restituisce un fattoriale del numero +10. Chiamate la funzione _isEmpty_, che prende un parametro e controlla se è vuoto o meno. +11. Chiamate la funzione _sum_, che accetta un numero qualsiasi di argomenti e restituisce la somma. +12. Scrivete una funzione chiamata _sumOfArrayItems_, che accetta un parametro dell'array e restituisce la somma di tutti gli elementi. Verificare se tutti gli elementi dell'array sono di tipo numero. In caso contrario, restituire un feedback ragionevole. +13. Scrivete una funzione chiamata _media_, che accetta un parametro di array e restituisce la media degli elementi. Verificate se tutti gli elementi dell'array sono di tipo numero. In caso contrario, restituire un feedback ragionevole. +14. Scrivere una funzione chiamata _modifyArray_ che prenda come parametro un array e modifichi il quinto elemento dell'array e restituisca l'array. Se la lunghezza dell'array è inferiore a cinque, restituisce "elemento non trovato". ```js console.log(modifyArray(['Avocado', 'Tomato', 'Potato','Mango', 'Lemon','Carrot']); @@ -690,18 +690,18 @@ Verrà trattato in un'altra sezione. 'Not Found' ``` -15. Write a function called _isPrime_, which checks if a number is prime number. -16. Write a functions which checks if all items are unique in the array. -17. Write a function which checks if all the items of the array are the same data type. -18. JavaScript variable name does not support special characters or symbols except \$ or \_. Write a function **isValidVariable** which check if a variable is valid or invalid variable. -19. Write a function which returns array of seven random numbers in a range of 0-9. All the numbers must be unique. +15. Scrivere una funzione chiamata _isPrime_, che verifichi se un numero è un numero primo. +16. Scrivete una funzione che verifichi se tutti gli elementi sono unici nell'array. +17. Scrivete una funzione che verifichi se tutti gli elementi dell'array sono dello stesso tipo di dati. +18. Il nome della variabile JavaScript non supporta caratteri speciali o simboli, tranne \$ o \_. Scrivete una funzione **isValidVariable** che controlli se una variabile è valida o non valida. +19. Scrivete una funzione che restituisca un array di sette numeri casuali in un intervallo compreso tra 0 e 9. Tutti i numeri devono essere unici. Tutti i numeri devono essere unici. ```js sevenRandomNumbers() [(1, 4, 5, 7, 9, 8, 0)] ``` -20. Write a function called reverseCountries, it takes countries array and first it copy the array and returns the reverse of the original array +20. Scrivere una funzione chiamata reverseCountries, che prenda un array di paesi e prima copi l'array e restituisca l'inverso dell'array originale. 🎉 CONGRATULAZIONI ! 🎉 diff --git a/Italian/08_Day_Objects/08_day_objects.md b/Italian/08_Day_Objects/08_day_objects.md index 40fe8fed..90564a34 100644 --- a/Italian/08_Day_Objects/08_day_objects.md +++ b/Italian/08_Day_Objects/08_day_objects.md @@ -23,16 +23,16 @@ - [Global scope](#global-scope) - [Local scope](#local-scope) - [📔 Object](#-object) - - [Creating an empty object](#creating-an-empty-object) - - [Creating an objecting with values](#creating-an-objecting-with-values) - - [Getting values from an object](#getting-values-from-an-object) - - [Creating object methods](#creating-object-methods) - - [Setting new key for an object](#setting-new-key-for-an-object) - - [Object Methods](#object-methods) - - [Getting object keys using Object.keys()](#getting-object-keys-using-objectkeys) - - [Getting object values using Object.values()](#getting-object-values-using-objectvalues) - - [Getting object keys and values using Object.entries()](#getting-object-keys-and-values-using-objectentries) - - [Checking properties using hasOwnProperty()](#checking-properties-using-hasownproperty) + - [Creare un oggetto vuoto](#creating-an-empty-object) + - [Creare un oggetto con valori](#creating-an-objecting-with-values) + - [Ottenere i valori dall'oggetto](#getting-values-from-an-object) + - [Creare i metodi di un oggetto](#creating-object-methods) + - [Impostare nuove chiavi per un oggetto](#setting-new-key-for-an-object) + - [Metodi della classe Object](#object-methods) + - [Ottenere le chiavi con Object.keys()](#getting-object-keys-using-objectkeys) + - [Ottenere i valori con Object.values()](#getting-object-values-using-objectvalues) + - [Ottenere chiavi e valori con Object.entries()](#getting-object-keys-and-values-using-objectentries) + - [Controllare le proprietà usando hasOwnProperty()](#checking-properties-using-hasownproperty) - [💻 Esercizi](#-exercises) - [Esercizi: Livello 1](#exercises-level-1) - [Esercizi: Livello 2](#exercises-level-2) @@ -42,20 +42,20 @@ ## Scope -Variable is the fundamental part in programming. We declare variable to store different data types. To declare a variable we use the key word _var_, _let_ and _const_. A variable can be declared at different scope. In this section, we will see the scope variables, scope of variables when we use var or let. -Variables scopes can be: +La variabile è un elemento fondamentale della programmazione. Dichiariamo una variabile per memorizzare diversi tipi di dati. Per dichiarare una variabile si usano le parole chiave _var_, _let_ e _const_. Una variabile può essere dichiarata in diversi ambiti. In questa sezione vedremo l'ambito delle variabili, l'ambito delle variabili quando usiamo var o let. +Gli ambiti delle variabili possono essere: - Global - Local -Variable can be declared globally or locally scope. We will see both global and local scope. -Anything declared without let, var or const is scoped at global level. +Le variabili possono essere dichiarate a livello globale o locale. Vedremo sia l'ambito globale che quello locale. +Qualsiasi cosa dichiarata senza let, var o const ha uno scope globale. -Let us imagine that we have a scope.js file. +Immaginiamo di avere un file scope.js. ### Window Global Object -Without using console.log() open your browser and check, you will see the value of a and b if you write a or b on the browser. That means a and b are already available in the window. +Senza usare console.log(), aprite il browser e verificate: vedrete il valore di a e b se scrivete a o b nel browser. Ciò significa che a e b sono già disponibili nella finestra. ```js //scope.js @@ -72,7 +72,7 @@ console.log(a, b) // accessible ### Global scope -A globally declared variable can be accessed every where in the same file. But the term global is relative. It can be global to the file or it can be global relative to some block of codes. +Una variabile dichiarata globalmente può essere accessibile in qualsiasi punto dello stesso file. Ma il termine globale è relativo. Può essere globale al file o globale rispetto a qualche blocco di codice. ```js //scope.js @@ -93,7 +93,7 @@ console.log(a, b) // JavaScript 10, accessible ### Local scope -A variable declared as local can be accessed only in certain block code. +Una variabile dichiarata come locale può essere accessibile solo in determinati blocchi di codice. - Block Scope - Function Scope @@ -124,7 +124,7 @@ letsLearnScope() console.log(a, b) // JavaScript 10, accessible ``` -Now, you have an understanding of scope. A variable declared with *var* only scoped to function but variable declared with *let* or *const* is block scope(function block, if block, loop block, etc). Block in JavaScript is a code in between two curly brackets ({}). +Ora avete compreso l'ambito. Una variabile dichiarata con *var* ha un ambito solo per la funzione, mentre una variabile dichiarata con *let* o *const* ha un ambito di blocco (blocco funzione, blocco if, blocco loop, ecc.). Il blocco in JavaScript è un codice compreso tra due parentesi graffe ({}). ```js //scope.js @@ -148,7 +148,7 @@ console.log(i) // 3 ``` -In ES6 and above there is *let* and *const*, so you will not suffer from the sneakiness of *var*. When we use *let* our variable is block scoped and it will not infect other parts of our code. +In ES6 e versioni successive esistono *let* e *const*, per cui non si soffrirà della subdola presenza di *var*. Quando usiamo *let*, la nostra variabile ha uno scope di blocco e non infetterà altre parti del nostro codice. ```js //scope.js @@ -173,14 +173,14 @@ for(let i = 0; i < 3; i++){ ``` -The scope *let* and *const* are the same. The difference is only reassigning. We can not change or reassign the value of the `const` variable. I would strongly suggest you to use *let* and *const*, by using *let* and *const* you will write clean code and avoid hard to debug mistakes. As a rule of thumb, you can use *let* for any value which change, *const* for any constant value, and for an array, object, arrow function and function expression. +Gli ambiti *let* e *const* sono gli stessi. La differenza è solo la riassegnazione. Non possiamo cambiare o riassegnare il valore della variabile `const`. Vi consiglio vivamente di usare *let* e *const*; usando *let* e *const* scriverete codice pulito ed eviterete errori difficili da debuggare. Come regola generale, si può usare *let* per qualsiasi valore che cambia, *const* per qualsiasi valore costante e per un array, un oggetto, una funzione freccia e un'espressione di funzione. ## 📔 Object -Everything can be an object and objects do have properties and properties have values, so an object is a key value pair. The order of the key is not reserved, or there is no order. -To create an object literal, we use two curly brackets. +Tutto può essere un oggetto e gli oggetti hanno proprietà e le proprietà hanno valori, quindi un oggetto è una coppia chiave-valore. L'ordine delle chiavi non è riservato, oppure non c'è un ordine. +Per creare un letterale di oggetto, si usano due parentesi graffe. -### Creating an empty object +### Creare un oggetto vuoto An empty object @@ -188,11 +188,11 @@ An empty object const person = {} ``` -### Creating an objecting with values +### Creare un oggetto con valori -Now, the person object has firstName, lastName, age, location, skills and isMarried properties. The value of properties or keys could be a string, number, boolean, an object, null, undefined or a function. +Ora, l'oggetto persona ha le proprietà firstName, lastName, age, location, skills e isMarried. Il valore delle proprietà o delle chiavi può essere una stringa, un numero, un booleano, un oggetto, null, undefined o una funzione. -Let us see some examples of object. Each key has a value in the object. +Vediamo alcuni esempi di oggetti. Ogni chiave ha un valore nell'oggetto. ```js const rectangle = { @@ -222,12 +222,12 @@ const person = { console.log(person) ``` -### Getting values from an object +### Ottenere i valori dall'oggetto -We can access values of object using two methods: +Possiamo accedere ai valori degli oggetti utilizzando due metodi: -- using . followed by key name if the key-name is a one word -- using square bracket and a quote +- usando . seguito dal nome della chiave, se il nome della chiave è una sola parola +- usando le parentesi quadre e le virgolette ```js const person = { @@ -269,9 +269,9 @@ console.log(person['location']) // undefined console.log(person['phone number']) ``` -### Creating object methods +### Creare i metodi di un oggetto -Now, the person object has getFullName properties. The getFullName is function inside the person object and we call it an object method. The _this_ key word refers to the object itself. We can use the word _this_ to access the values of different properties of the object. We can not use an arrow function as object method because the word this refers to the window inside an arrow function instead of the object itself. Example of object: +Ora, l'oggetto persona ha le proprietà getFullName. Il metodo getFullName è una funzione all'interno dell'oggetto persona e lo chiamiamo metodo dell'oggetto. La parola chiave _this_ si riferisce all'oggetto stesso. Possiamo usare la parola _this_ per accedere ai valori di diverse proprietà dell'oggetto. Non possiamo usare una funzione freccia come metodo oggetto, perché la parola this si riferisce alla finestra all'interno di una funzione freccia invece che all'oggetto stesso. Esempio di oggetto: ```js const person = { @@ -299,11 +299,11 @@ console.log(person.getFullName()) // Asabeneh Yetayeh ``` -### Setting new key for an object +### Impostare nuove chiavi per un oggetto -An object is a mutable data structure and we can modify the content of an object after it gets created. +Un oggetto è una struttura dati mutabile e si può modificare il contenuto di un oggetto dopo la sua creazione. -Setting a new keys in an object +Impostazione di nuove chiavi in un oggetto ```js const person = { @@ -354,11 +354,11 @@ He lives in Finland. He teaches HTML, CSS, JavaScript, React, Node, MongoDB, Python, D3.js, Meteor, and SasS. ``` -### Object Methods +### Metodi della classe Object -There are different methods to manipulate an object. Let us see some of the available methods. +Esistono diversi metodi per manipolare un oggetto. Vediamo alcuni dei metodi disponibili. -_Object.assign_: To copy an object without modifying the original object +_Object.assign_: Per copiare un oggetto senza modificare l'oggetto originale. ```js const person = { @@ -385,9 +385,9 @@ const copyPerson = Object.assign({}, person) console.log(copyPerson) ``` -#### Getting object keys using Object.keys() +#### Ottenere le chiavi con Object.keys() -_Object.keys_: To get the keys or properties of an object as an array +_Object.keys_: Per ottenere le chiavi o le proprietà di un oggetto come array ```js const keys = Object.keys(copyPerson) @@ -396,49 +396,49 @@ const address = Object.keys(copyPerson.address) console.log(address) //['street', 'pobox', 'city'] ``` -#### Getting object values using Object.values() +#### Ottenere i valori con Object.values() -_Object.values_:To get values of an object as an array +_Object.values_:Per ottenere i valori di un oggetto come array ```js const values = Object.values(copyPerson) console.log(values) ``` -#### Getting object keys and values using Object.entries() +#### Ottenere chiavi e valori con Object.entries() -_Object.entries_:To get the keys and values in an array +_Object.entries_: Per ottenere le chiavi e i valori di un array ```js const entries = Object.entries(copyPerson) console.log(entries) ``` -#### Checking properties using hasOwnProperty() +#### Controllare le proprietà usando hasOwnProperty() -_hasOwnProperty_: To check if a specific key or property exist in an object +_hasOwnProperty_: Per verificare se una chiave o una proprietà specifica esiste in un oggetto ```js console.log(copyPerson.hasOwnProperty('name')) console.log(copyPerson.hasOwnProperty('score')) ``` -🌕 You are astonishing. Now, you are super charged with the power of objects. You have just completed day 8 challenges and you are 8 steps a head in to your way to greatness. Now do some exercises for your brain and for your muscle. +🌕 Sei sorprendente. Ora sei super caricato con il potere degli oggetti. Hai appena completato le sfide dell'ottavo giorno e sei a 8 passi dalla tua strada verso la grandezza. Ora fai qualche esercizio per il cervello e per i muscoli. ## 💻 Esercizi ### Esercizi: Livello 1 -1. Create an empty object called dog -1. Print the the dog object on the console -1. Add name, legs, color, age and bark properties for the dog object. The bark property is a method which return _woof woof_ -1. Get name, legs, color, age and bark value from the dog object -1. Set new properties the dog object: breed, getDogInfo +1. Creare un oggetto vuoto chiamato cane +1. Stampare l'oggetto cane sulla console +1. Aggiungere all'oggetto cane le proprietà nome, zampe, colore, età e abbaio. La proprietà abbaia è un metodo che restituisce _woof woof_. +1. Ottenere il valore di nome, zampe, colore, età e abbaio dall'oggetto cane +1. Impostare nuove proprietà per l'oggetto cane: breed, getDogInfo ### Esercizi: Livello 2 -1. Find the person who has many skills in the users object. -1. Count logged in users, count users having greater than equal to 50 points from the following object. +1. Individuare la persona che ha molte competenze nell'oggetto utente. +1. Contare gli utenti connessi, contare gli utenti che hanno più di 50 punti dal seguente oggetto. ````js const users = { @@ -493,16 +493,16 @@ console.log(copyPerson.hasOwnProperty('score')) } }``` -1. Find people who are MERN stack developer from the users object -1. Set your name in the users object without modifying the original users object -1. Get all keys or properties of users object -1. Get all the values of users object -1. Use the countries object to print a country name, capital, populations and languages. +1. Trovare persone che sono sviluppatori di stack MERN dall'oggetto degli utenti +1. Impostare il proprio nome nell'oggetto utenti senza modificare l'oggetto utenti originale. +1. Ottenere tutte le chiavi o le proprietà dell'oggetto users +1. Ottenere tutti i valori dell'oggetto users +1. Utilizzare l'oggetto countries per stampare il nome di un paese, la capitale, la popolazione e le lingue. ### Esercizi: Livello 3 -1. Create an object literal called _personAccount_. It has _firstName, lastName, incomes, expenses_ properties and it has _totalIncome, totalExpense, accountInfo,addIncome, addExpense_ and _accountBalance_ methods. Incomes is a set of incomes and its description and expenses is a set of incomes and its description. -2. **** Questions:2, 3 and 4 are based on the following two arrays:users and products () +1. Creare un oggetto letterale chiamato _contopersona_. Ha le proprietà _nome, cognome, entrate, spese_ e i metodi _entrate totali, uscite totali, informazioni sul conto, aggiungi entrate, aggiungi spese_ e _bilancio del conto_. Entrate è un insieme di entrate e relativa descrizione e spese è un insieme di entrate e relativa descrizione. +2. **** Le domande:2, 3 e 4 si basano sui seguenti due array: utenti e prodotti () ```js const users = [ @@ -579,15 +579,15 @@ console.log(copyPerson.hasOwnProperty('score')) ] ``` - Imagine you are getting the above users collection from a MongoDB database. - a. Create a function called signUp which allows user to add to the collection. If user exists, inform the user that he has already an account. - b. Create a function called signIn which allows user to sign in to the application + Si immagini di ottenere la raccolta di utenti di cui sopra da un database MongoDB. + a. Creare una funzione chiamata signUp che consenta all'utente di aggiungersi all'insieme. Se l'utente esiste, informarlo che ha già un account. + b. Creare una funzione chiamata signIn che consenta all'utente di accedere all'applicazione. -3. The products array has three elements and each of them has six properties. - a. Create a function called rateProduct which rates the product - b. Create a function called averageRating which calculate the average rating of a product +3. L'array prodotti ha tre elementi e ognuno di essi ha sei proprietà. + a. Creare una funzione chiamata rateProduct che valuta il prodotto. + b. Creare una funzione chiamata mediaValutazione che calcola la media delle valutazioni di un prodotto. -4. Create a function called likeProduct. This function will helps to like to the product if it is not liked and remove like if it was liked. +4. Creare una funzione chiamata likeProduct. Questa funzione aiuta a dare un like al prodotto se non è piaciuto e a rimuovere il like se è piaciuto. 🎉 CONGRATULAZIONI ! 🎉 diff --git a/Italian/09_Day_Higher_order_functions/09_day_higher_order_functions.md b/Italian/09_Day_Higher_order_functions/09_day_higher_order_functions.md index a6dee70a..32567cdb 100644 --- a/Italian/09_Day_Higher_order_functions/09_day_higher_order_functions.md +++ b/Italian/09_Day_Higher_order_functions/09_day_higher_order_functions.md @@ -21,10 +21,10 @@ - [Day 9](#day-9) - [Higher Order Function](#higher-order-function) - [Callback](#callback) - - [Returning function](#returning-function) - - [Setting time](#setting-time) - - [Setting Interval using a setInterval function](#setting-interval-using-a-setinterval-function) - - [Setting a time using a setTimeout](#setting-a-time-using-a-settimeout) + - [restituire una funzione](#returning-function) + - [Impostare il tempo](#setting-time) + - [Impostare un intervallo con la funzione setInterval](#setting-interval-using-a-setinterval-function) + - [Impostare il tempo di esecuzione di una callback con setTimeout](#setting-a-time-using-a-settimeout) - [Functional Programming](#functional-programming) - [forEach](#foreach) - [map](#map) @@ -35,9 +35,9 @@ - [findIndex](#findindex) - [some](#some) - [sort](#sort) - - [Sorting string values](#sorting-string-values) - - [Sorting Numeric values](#sorting-numeric-values) - - [Sorting Object Arrays](#sorting-object-arrays) + - [Ordinare i valori string](#sorting-string-values) + - [Ordinare i valori numbers](#sorting-numeric-values) + - [Ordinare i valori Object](#sorting-object-arrays) - [💻 Esercizi](#-exercises) - [Esercizi: Livello 1](#exercises-level-1) - [Esercizi: Livello 2](#exercises-level-2) @@ -47,11 +47,11 @@ ## Higher Order Function -Higher order functions are functions which take other function as a parameter or return a function as a value. The function passed as a parameter is called callback. +Le funzioni di ordine superiore sono funzioni che accettano un'altra funzione come parametro o restituiscono una funzione come valore. La funzione passata come parametro è chiamata callback. ### Callback -A callback is a function which can be passed as parameter to other function. See the example below. +Un callback è una funzione che può essere passata come parametro ad altre funzioni. Si veda l'esempio seguente. ```js // a callback function, the name of the function could be any name @@ -67,9 +67,9 @@ function cube(callback, n) { console.log(cube(callback, 3)) ``` -### Returning function +### restituire una funzione -Higher order functions return function as a value +Le funzioni di ordine superiore restituiscono la funzione come valore ​ ```js // Higher order function returning an other function @@ -85,7 +85,7 @@ const higherOrder = n => { console.log(higherOrder(2)(3)(10)) ``` -Let us see were we use call back functions. For instance the _forEach_ method uses call back. +Vediamo come utilizzare le funzioni di richiamo. Ad esempio, il metodo _forEach_ utilizza il richiamo. ```js const numbers = [1, 2, 3, 4, 5] @@ -105,7 +105,7 @@ console.log(sumArray(numbers)) 15 ``` -The above example can be simplified as follows: +L'esempio precedente può essere semplificato come segue: ```js const numbers = [1, 2, 3, 4] @@ -125,16 +125,16 @@ console.log(sumArray(numbers)) 15 ``` -### Setting time +### Impostare il tempo -In JavaScript we can execute some activities in a certain interval of time or we can schedule(wait) for some time to execute some activities. +In JavaScript possiamo eseguire alcune attività in un certo intervallo di tempo oppure possiamo programmare (attendere) l'esecuzione di alcune attività. - setInterval - setTimeout -#### Setting Interval using a setInterval function +#### Impostare un intervallo con la funzione setInterval -In JavaScript, we use setInterval higher order function to do some activity continuously with in some interval of time. The setInterval global method take a callback function and a duration as a parameter. The duration is in milliseconds and the callback will be always called in that interval of time. +In JavaScript, si usa la funzione di ordine superiore setInterval per eseguire un'attività in modo continuo in un certo intervallo di tempo. Il metodo globale setInterval accetta una funzione di callback e una durata come parametro. La durata è espressa in millisecondi e il callback sarà sempre richiamato in quell'intervallo di tempo. ```js // syntax @@ -151,9 +151,9 @@ function sayHello() { setInterval(sayHello, 1000) // it prints hello in every second, 1000ms is 1s ``` -#### Setting a time using a setTimeout +#### Impostare il tempo di esecuzione di una callback con setTimeout -In JavaScript, we use setTimeout higher order function to execute some action at some time in the future. The setTimeout global method take a callback function and a duration as a parameter. The duration is in milliseconds and the callback wait for that amount of time. +In JavaScript, si usa la funzione di ordine superiore setTimeout per eseguire un'azione in un momento futuro. Il metodo globale setTimeout accetta una funzione di callback e una durata come parametro. La durata è espressa in millisecondi e il callback attende per questo lasso di tempo. ```js // syntax @@ -172,11 +172,11 @@ setTimeout(sayHello, 2000) // it prints hello after it waits for 2 seconds. ## Functional Programming -Instead of writing regular loop, latest version of JavaScript introduced lots of built in methods which can help us to solve complicated problems. All builtin methods take callback function. In this section, we will see _forEach_, _map_, _filter_, _reduce_, _find_, _every_, _some_, and _sort_. +Invece di scrivere cicli regolari, l'ultima versione di JavaScript ha introdotto molti metodi integrati che possono aiutarci a risolvere problemi complicati. Tutti i metodi incorporati richiedono una funzione di callback. In questa sezione vedremo _forEach_, _map_, _filter_, _reduce_, _find_, _every_, _some_ e _sort_. ### forEach -_forEach_: Iterate an array elements. We use _forEach_ only with arrays. It takes a callback function with elements, index parameter and array itself. The index and the array optional. +_forEach_: Itera gli elementi di un array. Si usa _forEach_ solo con gli array. Richiede una funzione di callback con elementi, un parametro indice e l'array stesso. L'indice e l'array sono facoltativi. ```js arr.forEach(function (element, index, arr) { @@ -232,7 +232,7 @@ ICELAND ### map -_map_: Iterate an array elements and modify the array elements. It takes a callback function with elements, index , array parameter and return a new array. +_map_: Itera gli elementi di un array e modifica gli elementi dell'array. Prende una funzione di callback con elementi, indice, parametro dell'array e restituisce un nuovo array. ```js const modifiedArray = arr.map(function (element, index, arr) { @@ -308,7 +308,7 @@ const countriesFirstThreeLetters = countries.map((country) => ### filter -_Filter_: Filter out items which full fill filtering conditions and return a new array. +_Filter_: Filtra gli elementi che soddisfano le condizioni di filtraggio e restituisce un nuovo array. ```js //Filter countries containing land @@ -362,7 +362,7 @@ console.log(scoresGreaterEighty) ### reduce -_reduce_: Reduce takes a callback function. The call back function takes accumulator, current, and optional initial value as a parameter and returns a single value. It is a good practice to define an initial value for the accumulator value. If we do not specify this parameter, by default accumulator will get array `first value`. If our array is an _empty array_, then `Javascript` will throw an error. +_reduce_: Reduce accetta una funzione di richiamo. La funzione di richiamo prende come parametro l'accumulatore, il valore corrente e il valore iniziale opzionale e restituisce un singolo valore. È buona norma definire un valore iniziale per il valore dell'accumulatore. Se non si specifica questo parametro, per impostazione predefinita l'accumulatore otterrà il "primo valore" dell'array. Se la nostra matrice è una matrice _vuota_, allora `Javascript` lancerà un errore. ```js arr.reduce((acc, cur) => { @@ -384,7 +384,7 @@ console.log(sum) ### every -_every_: Check if all the elements are similar in one aspect. It returns boolean +_every_: Controlla se tutti gli elementi sono simili in un aspetto. Restituisce un booleano ```js const names = ['Asabeneh', 'Mathias', 'Elias', 'Brook'] @@ -411,7 +411,7 @@ true ### find -_find_: Return the first element which satisfies the condition +_find_: Restituisce il primo elemento che soddisfa la condizione ```js const ages = [24, 22, 25, 32, 35, 18] @@ -453,7 +453,7 @@ console.log(score) ### findIndex -_findIndex_: Return the position of the first element which satisfies the condition +_findIndex_: Restituisce la posizione del primo elemento che soddisfa la condizione ```js const names = ['Asabeneh', 'Mathias', 'Elias', 'Brook'] @@ -468,7 +468,7 @@ console.log(age) // 5 ### some -_some_: Check if some of the elements are similar in one aspect. It returns boolean +_some_: Controlla se alcuni elementi sono simili in un aspetto. Restituisce un booleano ```js const names = ['Asabeneh', 'Mathias', 'Elias', 'Brook'] @@ -486,9 +486,9 @@ console.log(areAllStr) // false ### sort -_sort_: The sort methods arranges the array elements either ascending or descending order. By default, the **_sort()_** method sorts values as strings.This works well for string array items but not for numbers. If number values are sorted as strings and it give us wrong result. Sort method modify the original array. It is recommended to copy the original data before you start using _sort_ method. +_sort_: I metodi di ordinamento dispongono gli elementi dell'array in ordine crescente o decrescente. Per impostazione predefinita, il metodo **_sort()_** ordina i valori come stringhe, il che funziona bene per gli elementi dell'array di stringhe, ma non per i numeri. Se i valori numerici vengono ordinati come stringhe, il risultato è sbagliato. Il metodo Sort modifica l'array originale. Si consiglia di copiare i dati originali prima di iniziare a usare il metodo _sort_. -#### Sorting string values +#### Ordinare i valori string ```js const products = ['Milk', 'Coffee', 'Sugar', 'Honey', 'Apple', 'Carrot'] @@ -496,9 +496,9 @@ console.log(products.sort()) // ['Apple', 'Carrot', 'Coffee', 'Honey', 'Milk', ' //Now the original products array is also sorted ``` -#### Sorting Numeric values +#### Ordinare i valori numbers -As you can see in the example below, 100 came first after sorted in ascending order. Sort converts items to string , since '100' and other numbers compared, 1 which the beginning of the string '100' became the smallest. To avoid this, we use a compare call back function inside the sort method, which return a negative, zero or positive. +Come si può vedere nell'esempio seguente, 100 è arrivato per primo dopo l'ordinamento in ordine crescente. L'ordinamento converte gli elementi in stringhe, poiché '100' e altri numeri sono stati confrontati, 1 che all'inizio della stringa '100' è diventato il più piccolo. Per evitare ciò, utilizziamo una funzione di richiamo di confronto all'interno del metodo sort, che restituisce un valore negativo, zero o positivo. ```js const numbers = [9.81, 3.14, 100, 37] @@ -516,9 +516,9 @@ numbers.sort(function (a, b) { console.log(numbers) //[100, 37, 9.81, 3.14] ``` -#### Sorting Object Arrays +#### Ordinare i valori Object -Whenever we sort objects in an array, we use the object key to compare. Let us see the example below. +Quando si ordinano gli oggetti in una matrice, si utilizza la chiave dell'oggetto da confrontare. Vediamo l'esempio seguente. ```js objArr.sort(function (a, b) { @@ -550,7 +550,7 @@ console.log(users) // sorted ascending // [{…}, {…}, {…}, {…}] ``` -🌕 You are doing great.Never give up because great things take time. You have just completed day 9 challenges and you are 9 steps a head in to your way to greatness. Now do some exercises for your brain and for your muscle. +🌕Stai andando alla grande. Non arrenderti mai perché le grandi cose richiedono tempo. Hai appena completato le sfide del nono giorno e sei a 9 passi dalla tua strada verso la grandezza. Ora fai qualche esercizio per il cervello e per i muscoli. ## 💻 Esercizi @@ -570,47 +570,47 @@ const products = [ ] ``` -1. Explain the difference between **_forEach, map, filter, and reduce_**. -2. Define a callback function before you use it in forEach, map, filter or reduce. -3. Use **_forEach_** to console.log each country in the countries array. -4. Use **_forEach_** to console.log each name in the names array. -5. Use **_forEach_** to console.log each number in the numbers array. -6. Use **_map_** to create a new array by changing each country to uppercase in the countries array. -7. Use **_map_** to create an array of countries length from countries array. -8. Use **_map_** to create a new array by changing each number to square in the numbers array -9. Use **_map_** to change to each name to uppercase in the names array -10. Use **_map_** to map the products array to its corresponding prices. -11. Use **_filter_** to filter out countries containing **_land_**. -12. Use **_filter_** to filter out countries having six character. -13. Use **_filter_** to filter out countries containing six letters and more in the country array. -14. Use **_filter_** to filter out country start with 'E'; -15. Use **_filter_** to filter out only prices with values. -16. Declare a function called getStringLists which takes an array as a parameter and then returns an array only with string items. -17. Use **_reduce_** to sum all the numbers in the numbers array. -18. Use **_reduce_** to concatenate all the countries and to produce this sentence: **_Estonia, Finland, Sweden, Denmark, Norway, and IceLand are north European countries_** -19. Explain the difference between **_some_** and **_every_** -20. Use **_some_** to check if some names' length greater than seven in names array -21. Use **_every_** to check if all the countries contain the word land -22. Explain the difference between **_find_** and **_findIndex_**. -23. Use **_find_** to find the first country containing only six letters in the countries array -24. Use **_findIndex_** to find the position of the first country containing only six letters in the countries array -25. Use **_findIndex_** to find the position of **_Norway_** if it doesn't exist in the array you will get -1. -26. Use **_findIndex_** to find the position of **_Russia_** if it doesn't exist in the array you will get -1. +1. Spiegare la differenza tra **_forEach, map, filter e reduce_**. +2. Definire una funzione di callback prima di utilizzarla in forEach, map, filter o reduce. +3. Usate **_forEach_** per registrare in console.log ogni paese nell'array dei paesi. +4. Usare **_forEach_** per registrare in console.log ogni nome nell'array dei nomi. +5. Usare **_forEach_** per registrare in console.log ogni numero nell'array numbers. +6. Usare **_map_** per creare un nuovo array cambiando ogni paese in maiuscolo nell'array paesi. +7. Usare **_map_** per creare un array di paesi di lunghezza pari a quella dell'array paesi. +8. Usare **_map_** per creare un nuovo array cambiando ogni numero in quadrato nell'array dei numeri. +9. Usare **_map_** per cambiare ogni nome in maiuscolo nell'array dei nomi. +10. Usare **_map_** per mappare l'array dei prodotti ai prezzi corrispondenti. +11. Utilizzare **_filtro_** per filtrare i paesi contenenti **_terra_**. +12. Usare **_filtro_** per filtrare i paesi con sei caratteri. +13. Usare **_filtro_** per filtrare i paesi contenenti sei lettere o più nell'array dei paesi. +14. Usare **_filter_** per filtrare i paesi che iniziano con 'E'; +15. Usare **_filter_** per filtrare solo i prezzi con valori. +16. Dichiarare una funzione chiamata getStringLists che accetta un array come parametro e restituisce un array contenente solo elementi stringa. +17. Usare **_reduce_** per sommare tutti i numeri nell'array numbers. +18. Usare **_reduce_** per concatenare tutti i paesi e produrre questa frase: **_Estonia, Finlandia, Svezia, Danimarca, Norvegia e IceLand sono paesi del Nord Europa_**. +19. Spiegate la differenza tra **alcuni_** e **tutti_**. +20. Usate **_qualche_** per verificare se la lunghezza di alcuni nomi è maggiore di sette nell'array dei nomi. +21. Usare **_every_** per verificare se tutti i paesi contengono la parola land (terra). +22. Spiegate la differenza tra **_find_** e **_findIndex_**. +23. Usate **_find_** per trovare il primo paese che contiene solo sei lettere nell'array dei paesi. +24. Usare **_findIndex_** per trovare la posizione del primo paese contenente solo sei lettere nell'array dei paesi. +25. Usare **_findIndex_** per trovare la posizione di **_Norvegia_** se non esiste nell'array si otterrà -1. +26. Usare **_findIndex_** per trovare la posizione di **_Russia_** se non esiste nell'array si otterrà -1. ### Esercizi: Livello 2 -1. Find the total price of products by chaining two or more array iterators(eg. arr.map(callback).filter(callback).reduce(callback)) -1. Find the sum of price of products using only reduce reduce(callback)) -1. Declare a function called **_categorizeCountries_** which returns an array of countries which have some common pattern(you find the countries array in this repository as countries.js(eg 'land', 'ia', 'island','stan')). -1. Create a function which return an array of objects, which is the letter and the number of times the letter use to start with a name of a country. -1. Declare a **_getFirstTenCountries_** function and return an array of ten countries. Use different functional programming to work on the countries.js array -1. Declare a **_getLastTenCountries_** function which which returns the last ten countries in the countries array. -1. Find out which _letter_ is used many _times_ as initial for a country name from the countries array (eg. Finland, Fiji, France etc) +1. Trovare il prezzo totale dei prodotti concatenando due o più iteratori di array (es. arr.map(callback).filter(callback).reduce(callback)) +1. Trovare la somma dei prezzi dei prodotti usando solo reduce(callback)) +1. Dichiarare una funzione chiamata **_categorizeCountries_** che restituisce un array di Paesi che hanno un modello comune (l'array dei Paesi si trova in questo repository come countries.js (ad esempio 'land', 'ia', 'island', 'stan')). +1. Creare una funzione che restituisca un array di oggetti, ovvero la lettera e il numero di volte in cui la lettera inizia con il nome di un paese. +1. Dichiarare una funzione **_getFirstTenCountries_** e restituire un array di dieci paesi. Utilizzare una programmazione funzionale diversa per lavorare sull'array countries.js +1. Dichiarare una funzione **_getLastTenCountries_** che restituisca gli ultimi dieci paesi dell'array countries. +1. Scoprite quale _lettera_ viene usata molte _volte_ come iniziale del nome di un paese dall'array dei paesi (es. Finlandia, Figi, Francia ecc.). ### Esercizi: Livello 3 -1. Use the countries information, in the data folder. Sort countries by name, by capital, by population -1. \*\*\* Find the 10 most spoken languages: +1. Utilizzate le informazioni sui Paesi, contenute nella cartella dei dati. Ordinare i Paesi per nome, per capitale, per popolazione +1. \*\*\* Trovare le 10 lingue più parlate: ````js // Your output should look like this @@ -638,7 +638,7 @@ const products = [ ```` -2. \*\*\* Use countries_data.js file create a function which create the ten most populated countries +2. \*\*\* Usare il file countries_data.js per creare una funzione che crei i dieci paesi più popolosi. ````js console.log(mostPopulatedCountries(countries, 10)) @@ -666,7 +666,7 @@ const products = [ ```` -3. \*\*\* Try to develop a program which calculate measure of central tendency of a sample(mean, median, mode) and measure of variability(range, variance, standard deviation). In addition to those measures find the min, max, count, percentile, and frequency distribution of the sample. You can create an object called statistics and create all the functions which do statistical calculations as method for the statistics object. Check the output below. +3. \*\*\* Cercate di sviluppare un programma che calcoli la misura della tendenza centrale di un campione (media, mediana, modalità) e la misura della variabilità (intervallo, varianza, deviazione standard). Oltre a queste misure, trovate il minimo, il massimo, il numero, il percentile e la distribuzione di frequenza del campione. È possibile creare un oggetto chiamato statistiche e creare tutte le funzioni che eseguono calcoli statistici come metodi per l'oggetto statistiche. Verificate l'output qui sotto. ```js const ages = [31, 26, 34, 37, 27, 26, 32, 32, 26, 27, 27, 24, 32, 33, 27, 25, 26, 38, 37, 31, 34, 24, 33, 29, 26] diff --git a/Italian/10_Day_Sets_and_Maps/10_day_Sets_and_Maps.md b/Italian/10_Day_Sets_and_Maps/10_day_Sets_and_Maps.md index 95f1a0f1..42dd04db 100644 --- a/Italian/10_Day_Sets_and_Maps/10_day_Sets_and_Maps.md +++ b/Italian/10_Day_Sets_and_Maps/10_day_Sets_and_Maps.md @@ -20,34 +20,34 @@ - [Day 10](#day-10) - [Set](#set) - - [Creating an empty set](#creating-an-empty-set) - - [Creating set from array](#creating-set-from-array) - - [Adding an element to a set](#adding-an-element-to-a-set) - - [Deleting an element a set](#deleting-an-element-a-set) - - [Checking an element in the set](#checking-an-element-in-the-set) - - [Clearing the set](#clearing-the-set) - - [Union of sets](#union-of-sets) - - [Intersection of sets](#intersection-of-sets) - - [Difference of sets](#difference-of-sets) + - [Creare un set vuoto](#creating-an-empty-set) + - [Creare un set da un array](#creating-set-from-array) + - [Aggiungere un elemento ad un set](#adding-an-element-to-a-set) + - [Eliminare un elemento dal set](#deleting-an-element-a-set) + - [Verificare la presenza di un elemento nel set](#checking-an-element-in-the-set) + - [Svuotare il set](#clearing-the-set) + - [Unione di set](#union-of-sets) + - [Intersezione di set](#intersection-of-sets) + - [Differenza tra set](#difference-of-sets) - [Map](#map) - - [Creating an empty Map](#creating-an-empty-map) - - [Creating an Map from array](#creating-an-map-from-array) - - [Adding values to the Map](#adding-values-to-the-map) - - [Getting a value from Map](#getting-a-value-from-map) - - [Checking key in Map](#checking-key-in-map) + - [Creare un map vuoto](#creating-an-empty-map) + - [Creare un map da un array](#creating-an-map-from-array) + - [Aggiungere valori ad un map](#adding-values-to-the-map) + - [Ottenere un valore dal map](#getting-a-value-from-map) + - [Controllare le key del map](#checking-key-in-map) - [Esercizi](#exercises) - - [Esercizi:Level 1](#exerciseslevel-1) - - [Esercizi:Level 2](#exerciseslevel-2) - - [Esercizi:Level 3](#exerciseslevel-3) + - [Esercizi: Livello 1](#exerciseslevel-1) + - [Esercizi: Livello 2](#exerciseslevel-2) + - [Esercizi: Livello 3](#exerciseslevel-3) # Day 10 ## Set -Set is a collection of elements. Set can only contains unique elements. -Let us see how to create a set in the section below. +L'insieme è una collezione di elementi. L'insieme può contenere solo elementi unici. +Vediamo come creare un insieme nella sezione seguente. -### Creating an empty set +### Creare un set vuoto ```js const companies = new Set() @@ -58,7 +58,7 @@ console.log(companies) Set(0) {} ``` -### Creating set from array +### Creare un set da un array ```js const languages = [ @@ -79,7 +79,7 @@ console.log(setOfLanguages) Set(4) {"English", "Finnish", "French", "Spanish"} ``` -Set is an iterable object and we can iterate through each elements. +Set è un oggetto iterabile e possiamo iterare attraverso ogni elemento. ```js const languages = [ @@ -106,7 +106,7 @@ for (const language of setOfLanguages) { Spanish ``` -### Adding an element to a set +### Aggiungere un elemento ad un set ```js const companies = new Set() // creating an empty set @@ -125,7 +125,7 @@ console.log(companies) Set(5) {"Google", "Facebook", "Amazon", "Oracle", "Microsoft"} ``` -We can also use loop to add element to a set. +Possiamo anche usare il ciclo per aggiungere elementi a un insieme. ```js const companies = ['Google', 'Facebook', 'Amazon', 'Oracle', 'Microsoft'] @@ -140,27 +140,27 @@ Set(5) {"Google", "Facebook", "Amazon", "Oracle", "Microsoft"} ``` -### Deleting an element a set +### Eliminare un elemento dal set -We can delete an element from a set using a delete method. +Possiamo eliminare un elemento da un insieme utilizzando un metodo di cancellazione. ```js console.log(companies.delete('Google')) console.log(companies.size) // 4 elements left in the set ``` -### Checking an element in the set +### Verificare la presenza di un elemento nel set -The has method can help to know if a certain element exists in a set. +Il metodo has può aiutare a sapere se un certo elemento esiste in un insieme. ```js console.log(companies.has('Apple')) // false console.log(companies.has('Facebook')) // true ``` -### Clearing the set +### Svuotare il set -It removes all the elements from a set. +Rimuove tutti gli elementi da un insieme. ```js companies.clear() @@ -171,7 +171,7 @@ console.log(companies) Set(0) {} ``` -See the example below to learn how to use set. +Vedere l'esempio seguente per imparare a usare set. ```js const languages = [ @@ -207,7 +207,7 @@ console.log(counts) ] ``` -Other use case of set. For instance to count unique item in an array. +Altri casi d'uso di set. Ad esempio, per contare gli elementi unici di un array. ```js const numbers = [5, 3, 2, 5, 5, 9, 4, 5] @@ -220,9 +220,9 @@ console.log(setOfNumbers) Set(5) {5, 3, 2, 9, 4} ``` -### Union of sets +### Unione di set -To find a union to two sets can be achieved using spread operator. Lets find the union of set A and set B (A U B) +Per trovare l'unione di due insiemi si può utilizzare l'operatore di divisione. Troviamo l'unione dell'insieme A e dell'insieme B (A U B) ```js let a = [1, 2, 3, 4, 5] @@ -240,9 +240,9 @@ console.log(C) Set(6) {1, 2, 3, 4, 5,6} ``` -### Intersection of sets +### Intersezione di set -To find an intersection of two sets can be achieved using filter. Lets find the intersection of set A and set B (A ∩ B) +Per trovare l'intersezione di due insiemi si può utilizzare un filtro. Troviamo l'intersezione dell'insieme A e dell'insieme B (A ∩ B) ```js let a = [1, 2, 3, 4, 5] @@ -261,9 +261,9 @@ console.log(C) Set(3) {3, 4, 5} ``` -### Difference of sets +### Differenza tra set -To find an the difference between two sets can be achieved using filter. Lets find the different of set A and set B (A \ B) +Per trovare la differenza tra due insiemi si può utilizzare un filtro. Troviamo la differenza tra l'insieme A e l'insieme B (A \ B) ```js let a = [1, 2, 3, 4, 5] @@ -284,7 +284,7 @@ Set(2) {1, 2} ## Map -### Creating an empty Map +### Creare un map vuoto ```js const map = new Map() @@ -295,7 +295,7 @@ console.log(map) Map(0) {} ``` -### Creating an Map from array +### Creare un map da un array ```js countries = [ @@ -313,7 +313,7 @@ Map(3) {"Finland" => "Helsinki", "Sweden" => "Stockholm", "Norway" => "Oslo"} 3 ``` -### Adding values to the Map +### Aggiungere valori ad un map ```js const countriesMap = new Map() @@ -330,7 +330,7 @@ Map(3) {"Finland" => "Helsinki", "Sweden" => "Stockholm", "Norway" => "Oslo"} 3 ``` -### Getting a value from Map +### Ottenere un valore dal map ```js console.log(countriesMap.get('Finland')) @@ -340,9 +340,9 @@ console.log(countriesMap.get('Finland')) Helsinki ``` -### Checking key in Map +### Controllare le key del map -Check if a key exists in a map using _has_ method. It returns _true_ or _false_. +Controlla se una chiave esiste in una mappa usando il metodo _has_. Restituisce _true_ o _false_. ```js console.log(countriesMap.has('Finland')) @@ -352,7 +352,7 @@ console.log(countriesMap.has('Finland')) true ``` -Getting all values from map using loop +Ottenere tutti i valori dalla mappa utilizzando il ciclo ```js for (const country of countriesMap) { @@ -378,11 +378,11 @@ Sweden Stockholm Norway Oslo ``` -🌕 You established a big milestone, you are unstoppable. Keep going! You have just completed day 10 challenges and you are 10 steps a head in to your way to greatness. Now do some exercises for your brain and for your muscle. +🌕 Hai raggiunto un grande traguardo, sei inarrestabile. Continua così! Hai appena completato le sfide del 10° giorno e sei a 10 passi dalla tua strada verso la grandezza. Ora fai qualche esercizio per il cervello e per i muscoli. ## Esercizi -### Esercizi:Level 1 +### Esercizi: Livello 1 ```js const a = [4, 5, 8, 9] @@ -390,24 +390,24 @@ const b = [3, 4, 5, 7] const countries = ['Finland', 'Sweden', 'Norway'] ``` -1. create an empty set -2. Create a set containing 0 to 10 using loop -3. Remove an element from a set -4. Clear a set -5. Create a set of 5 string elements from array -6. Create a map of countries and number of characters of a country +1. creare un insieme vuoto +2. Creare un insieme contenente da 0 a 10 utilizzando il ciclo +3. Rimuovere un elemento da un insieme +4. Cancellare un insieme +5. Creare un insieme di 5 elementi stringa da un array +6. Creare una mappa di paesi e il numero di caratteri di un paese -### Esercizi:Level 2 +### Esercizi: Livello 2 -1. Find a union b -2. Find a intersection b -3. Find a with b +1. Trovare un'unione b +2. Trovare un'intersezione b +3. Trovare a con b -### Esercizi:Level 3 +### Esercizi: Livello 3 -1. How many languages are there in the countries object file. +1. Quante lingue sono presenti nel file oggetto Paesi. -1. \*\*\* Use the countries data to find the 10 most spoken languages: +1. \*\*\* Utilizzate i dati dei Paesi per trovare le 10 lingue più parlate: ```js // Your output should look like this diff --git a/Italian/11_Day_Destructuring_and_spreading/11_day_destructuring_and_spreading.md b/Italian/11_Day_Destructuring_and_spreading/11_day_destructuring_and_spreading.md index fa8f9d06..cb008224 100644 --- a/Italian/11_Day_Destructuring_and_spreading/11_day_destructuring_and_spreading.md +++ b/Italian/11_Day_Destructuring_and_spreading/11_day_destructuring_and_spreading.md @@ -18,19 +18,19 @@ ![Day 11](../../images/banners/day_1_11.png) - [Day 11](#day-11) - - [Destructuring and Spread](#destructuring-and-spread) + - [Destructuring e Spread](#destructuring-and-spread) - [Destructing Arrays](#destructing-arrays) - - [Destructuring during iteration](#destructuring-during-iteration) - - [Destructuring Object](#destructuring-object) - - [Renaming during structuring](#renaming-during-structuring) - - [Object parameter without destructuring](#object-parameter-without-destructuring) - - [Object parameter with destructuring](#object-parameter-with-destructuring) - - [Destructuring object during iteration](#destructuring-object-during-iteration) - - [Spread or Rest Operator](#spread-or-rest-operator) - - [Spread operator to get the rest of array elements](#spread-operator-to-get-the-rest-of-array-elements) - - [Spread operator to copy array](#spread-operator-to-copy-array) - - [Spread operator to copy object](#spread-operator-to-copy-object) - - [Spread operator with arrow function](#spread-operator-with-arrow-function) + - [Destructuring durante iterazione](#destructuring-during-iteration) + - [Object Destructuring](#destructuring-object) + - [Rinominare durante structuring](#renaming-during-structuring) + - [Object parameter senza destructuring](#object-parameter-without-destructuring) + - [Object parameter con destructuring](#object-parameter-with-destructuring) + - [Object Destructuring durante l'iterazione](#destructuring-object-during-iteration) + - [Spread o Rest Operator](#spread-or-rest-operator) + - [Operatore Spread per ottenere il resto degli elementi di un array](#spread-operator-to-get-the-rest-of-array-elements) + - [Operatore Spread per copiare un array](#spread-operator-to-copy-array) + - [Operatore Spread per copiare oggetti](#spread-operator-to-copy-object) + - [Operatore Spread con arrow function](#spread-operator-with-arrow-function) - [Esercizi](#exercises) - [Esercizi: Livello 1](#exercises-level-1) - [Esercizi: Livello 2](#exercises-level-2) @@ -38,9 +38,9 @@ # Day 11 -## Destructuring and Spread +## Destructuring e Spread -Destructuring is a way to unpack arrays, and objects and assigning to a distinct variable. +La destrutturazione è un modo per disimballare array e oggetti e assegnarli a una variabile distinta. ### Destructing Arrays @@ -93,7 +93,7 @@ console.log(backEnd) ["Node", "Express", "MongoDB"] ``` -If we like to skip on of the values in the array we use additional comma. The comma helps to omit the value at that specific index +Se vogliamo saltare uno dei valori dell'array, usiamo una virgola aggiuntiva. La virgola aiuta a omettere il valore in quello specifico indice ```js const numbers = [1, 2, 3] @@ -117,7 +117,7 @@ If we like to skip on of the values in the array we use additional comma. The co Brook John ``` -We can use default value in case the value of array for that index is undefined: +È possibile utilizzare il valore predefinito nel caso in cui il valore dell'array per quell'indice sia indefinito: ```js const names = [undefined, 'Brook', 'David'] @@ -135,7 +135,7 @@ console.log(firstPerson, secondPerson, thirdPerson, fourthPerson) Asabeneh Brook David John ``` -We can not assign variable to all the elements in the array. We can destructure few of the first and we can get the remaining as array using spread operator(...). +Non possiamo assegnare una variabile a tutti gli elementi dell'array. Possiamo destrutturare alcuni dei primi e ottenere i rimanenti come array utilizzando l'operatore spread(...). ```js const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] @@ -150,7 +150,7 @@ console.log(rest) [4, 5, 6, 7, 8, 9, 10] ``` -### Destructuring during iteration +### Destructuring durante iterazione ```js const countries = [['Finland', 'Helsinki'], ['Sweden', 'Stockholm'], ['Norway', 'Oslo']] @@ -182,9 +182,9 @@ HTML CSS JS Node Express MongoDB ``` -### Destructuring Object +### Object Destructuring -When we destructure the name of the variable we use to destructure should be exactly the same as the key or property of the object. See the example below. +Quando si destruttura, il nome della variabile che si usa per destrutturare deve essere esattamente lo stesso della chiave o della proprietà dell'oggetto. Si veda l'esempio seguente. ```js const rectangle = { @@ -201,7 +201,7 @@ console.log(width, height, area, perimeter) 20 10 200 undefined ``` -### Renaming during structuring +### Rinominare durante structuring ```js const rectangle = { @@ -218,7 +218,7 @@ console.log(w, h, a, p) 20 10 200 undefined ``` -If the key is not found in the object the variable will be assigned to undefined. Sometimes the key might not be in the object, in that case we can give a default value during declaration. See the example. +Se la chiave non viene trovata nell'oggetto, la variabile verrà assegnata a undefined. A volte la chiave potrebbe non essere presente nell'oggetto, in questo caso possiamo dare un valore predefinito durante la dichiarazione. Si veda l'esempio. ```js const rectangle = { @@ -243,9 +243,9 @@ let { width, height, area, perimeter = 60 } = rectangle console.log(width, height, area, perimeter) //30 10 200 80 ``` -Destructuring keys as a function parameters. Let us create a function which takes a rectangle object and it returns a perimeter of a rectangle. +Destrutturazione delle chiavi come parametri di una funzione. Creiamo una funzione che prende un oggetto rettangolo e restituisce il perimetro di un rettangolo. -### Object parameter without destructuring +### Object parameter senza destructuring ```js // Without destructuring @@ -302,7 +302,7 @@ const getPersonInfo = obj => { console.log(getPersonInfo(person)) ``` -### Object parameter with destructuring +### Object parameter con destructuring ```js @@ -339,7 +339,7 @@ Asabeneh Yetayeh lives in Finland. He is 250 years old. He is an Instructor and */ ``` -### Destructuring object during iteration +### Object Destructuring durante l'iterazione ```js const todoList = [ @@ -371,11 +371,11 @@ Give JS Test 4/1/2020 10:00 false Assess Test Result 4/1/2020 1:00 false ``` -### Spread or Rest Operator +### Spread o Rest Operator -When we destructure an array we use the spread operator(...) to get the rest elements as array. In addition to that we use spread operator to spread array elements to another array. +Quando destrutturiamo un array, utilizziamo l'operatore spread(...) per ottenere gli elementi rimanenti come array. Inoltre, utilizziamo l'operatore spread per distribuire gli elementi dell'array in un altro array. -### Spread operator to get the rest of array elements +### Operatore Spread per ottenere il resto degli elementi di un array ```js const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] @@ -415,7 +415,7 @@ France ["Finland", "Sweden", "Norway", "Denmark", "Iceland"] ``` -### Spread operator to copy array +### Operatore Spread per copiare un array ```js const evens = [0, 2, 4, 6, 8, 10] @@ -451,9 +451,9 @@ console.log(fullStack) ["HTML", "CSS", "JS", "React", "Node", "Express", "MongoDB"] ``` -### Spread operator to copy object +### Operatore Spread per copiare oggetti -We can copy an object using a spread operator +Possiamo copiare un oggetto usando un operatore di diffusione ```js const user = { @@ -471,7 +471,7 @@ console.log(copiedUser) {name: "Asabeneh", title: "Programmer", country: "Finland", city: "Helsinki"} ``` -Modifying or changing the object while copying +Modificare o cambiare l'oggetto durante la copia ```js const user = { @@ -489,9 +489,9 @@ console.log(copiedUser) {name: "Asabeneh", title: "instructor", country: "Finland", city: "Helsinki"} ``` -#### Spread operator with arrow function +#### Operatore Spread con arrow function -Whenever we like to write an arrow function which takes unlimited number of arguments we use a spread operator. If we use a spread operator as a parameter, the argument passed when we invoke a function will change to an array. +Ogni volta che vogliamo scrivere una funzione che accetta un numero illimitato di argomenti, utilizziamo l'operatore spread. Se utilizziamo un operatore di diffusione come parametro, l'argomento passato quando invochiamo una funzione si trasformerà in un array. ```js @@ -527,7 +527,7 @@ console.log(sumAllNums(1, 2, 3, 4, 5)) ``` -🌕 You achieved quite a lot so far. Now, your Livello of JavaScript is upper intermediate. Keep going! You have just completed day 11 challenges and you are 11 steps a head in to your way to greatness. Now do some exercises for your brain and for your muscle. +🌕 Finora hai ottenuto molti risultati. Ora il tuo livello di JavaScript è intermedio. Continua così! Sei appena completato le sfide dell'undicesimo giorno e sei a 11 passi dalla tua strada verso la grandezza. Ora fai qualche esercizio per il cervello e per i muscoli. ## Esercizi @@ -588,19 +588,20 @@ const users = [ ] ``` -1. Destructure and assign the elements of constants array to e, pi, gravity, humanBodyTemp, waterBoilingTemp. -2. Destructure and assign the elements of countries array to fin, est, sw, den, nor -3. Destructure the rectangle object by its properties or keys. +1. Destrutturare e assegnare gli elementi dell'array di costanti a e, pi greco, gravità, humanBodyTemp, waterBoilingTemp. +2. Destrutturare e assegnare gli elementi dell'array countries a fin, est, sw, den, nor. +3. Destrutturare l'oggetto rettangolo in base alle sue proprietà o chiavi. ### Esercizi: Livello 2 -1. Iterate through the users array and get all the keys of the object using destructuring -2. Find the persons who have less than two skills +1. Iterare l'array degli utenti e ottenere tutte le chiavi dell'oggetto utilizzando la destrutturazione. +2. Trovare le persone che hanno meno di due competenze ### Esercizi: Livello 3 -1. Destructure the countries object print name, capital, population and languages of all countries -2. A junior developer structure student name, skills and score in array of arrays which may not easy to read. Destructure the following array name to name, skills array to skills, scores array to scores, JavaScript score to jsScore and React score to reactScore variable in one line. +1. Destrutturare l'oggetto Paesi stampare nome, capitale, popolazione e lingua di tutti i Paesi. +2. Uno sviluppatore junior struttura il nome dello studente, le competenze e il punteggio in array di array che potrebbero non essere facili da leggere. Destrutturare il seguente array nome in nome, l'array delle competenze in competenze, l'array dei punteggi in punteggi, il punteggio JavaScript in jsScore e il punteggio React in reactScore in una riga. + ```js const student = ['David', ['HTM', 'CSS', 'JS', 'React'], [98, 85, 90, 95]] @@ -611,7 +612,7 @@ const users = [ David (4) ["HTM", "CSS", "JS", "React"] 90 95 ``` -3. Write a function called *convertArrayToObject* which can convert the array to a structure object. +3. Scrivete una funzione chiamata *convertArrayToObject* in grado di convertire l'array in un oggetto struttura. ```js const students = [ @@ -634,12 +635,12 @@ const users = [ ] ``` -4. Copy the student object to newStudent without mutating the original object. In the new object add the following ? +4. Copiare l'oggetto studente in newStudent senza mutare l'oggetto originale. Nel nuovo oggetto aggiungere il seguente ? -- Add Bootstrap with Livello 8 to the front end skill sets -- Add Express with Livello 9 to the back end skill sets -- Add SQL with Livello 8 to the data base skill sets -- Add SQL without Livello to the data science skill sets +- Aggiungere Bootstrap con Livello 8 ai set di competenze del front end. +- Aggiungere Express con Livello 9 ai set di competenze del back end. +- Aggiungere SQL con Livello 8 ai set di competenze della base dati. +- Aggiungere SQL senza Livello ai set di competenze di scienza dei dati. ```js const student = { @@ -664,7 +665,7 @@ const users = [ } ``` - The copied object output should look like this: + L'output dell'oggetto copiato dovrebbe essere simile a questo: ```js { diff --git a/Italian/12_Day_Regular_expressions/12_day_regular_expressions.md b/Italian/12_Day_Regular_expressions/12_day_regular_expressions.md index 750ad99c..af104f66 100644 --- a/Italian/12_Day_Regular_expressions/12_day_regular_expressions.md +++ b/Italian/12_Day_Regular_expressions/12_day_regular_expressions.md @@ -18,25 +18,25 @@ ![Thirty Days Of JavaScript](../../images/banners/day_1_12.png) - [📘 Day 12](#-day-12) - - [Regular Expressions](#regular-expressions) - - [RegExp parameters](#regexp-parameters) + - [Espressioni Regolari](#regular-expressions) + - [Parameteri RegExp](#regexp-parameters) - [Pattern](#pattern) - [Flags](#flags) - - [Creating a pattern with RegExp Constructor](#creating-a-pattern-with-regexp-constructor) - - [Creating a pattern without RegExp Constructor](#creating-a-pattern-without-regexp-constructor) - - [RegExpp Object Methods](#regexpp-object-methods) - - [Testing for a match](#testing-for--a-match) - - [Array containing all of the match](#array-containing-all-of-the-match) - - [Replacing a substring](#replacing-a-substring) - - [Square Bracket](#square-bracket) + - [Creare un pattern con il costruttore RegExp](#creating-a-pattern-with-regexp-constructor) + - [Creare un pattern senza il costruttore RegExp](#creating-a-pattern-without-regexp-constructor) + - [Metodi dell'oggetto RegExp](#regexpp-object-methods) + - [Testing per un match](#testing-for--a-match) + - [Array contenente tutto il match](#array-containing-all-of-the-match) + - [Sostituire una substring](#replacing-a-substring) + - [Square Bracket (parentesi quadra)](#square-bracket) - [Escape character(\\) in RegExp](#escape-character-in-regexp) - - [One or more times(+)](#one-or-more-times) + - [Uno o più volte(+)](#one-or-more-times) - [Period(.)](#period) - - [Zero or more times(*)](#zero-or-more-times) - - [Zero or one times(?)](#zero-or-one-times) + - [Zero o più volte(*)](#zero-or-more-times) + - [Zero oppure una volta(?)](#zero-or-one-times) - [Quantifier in RegExp](#quantifier-in-regexp) - [Cart ^](#cart-) - - [Exact match](#exact-match) + - [Match esatto](#exact-match) - [💻 Esercizi](#-exercises) - [Esercizi: Livello 1](#exercises-level-1) - [Esercizi: Livello 2](#exercises-level-2) @@ -44,31 +44,31 @@ # 📘 Day 12 -## Regular Expressions +## Espressioni Regolari -A regular expression or RegExp is a small programming language that helps to find pattern in data. A RegExp can be used to check if some pattern exists in a different data types. To use RegExp in JavaScript either we use RegExp constructor or we can declare a RegExp pattern using two forward slashes followed by a flag. We can create a pattern in two ways. +Un'espressione regolare o RegExp è un piccolo linguaggio di programmazione che aiuta a trovare modelli nei dati. Una RegExp può essere usata per verificare se un certo modello esiste in diversi tipi di dati. Per usare le RegExp in JavaScript si può usare il costruttore RegExp oppure si può dichiarare un modello RegExp usando due barre in avanti seguite da un flag. Possiamo creare un modello in due modi. -To declare a string we use a single quote, double quote a backtick to declare a regular expression we use two forward slashes and an optional flag. The flag could be g, i, m, s, u or y. +Per dichiarare una stringa si usano una virgoletta singola, una doppia virgoletta e un backtick, mentre per dichiarare un'espressione regolare si usano due barre in avanti e un flag opzionale. Il flag può essere g, i, m, s, u o y. -### RegExp parameters +### Parameteri RegExp -A regular expression takes two parameters. One required search pattern and an optional flag. +Un'espressione regolare richiede due parametri. Un modello di ricerca richiesto e un parametron optional flag. #### Pattern -A pattern could be a text or any form of pattern which some sort of similarity. For instance the word spam in an email could be a pattern we are interested to look for in an email or a phone number format number might be our interest to look for. +Un modello può essere un testo o una qualsiasi forma di modello che presenta una qualche somiglianza. Per esempio, la parola spam in un'e-mail potrebbe essere un modello che ci interessa cercare in un'e-mail o un numero di telefono in formato numero potrebbe essere il nostro interesse da cercare. #### Flags -Flags are optional parameters in a regular expression which determine the type of searching. Let us see some of the flags: +I flag sono parametri opzionali di un'espressione regolare che determinano il tipo di ricerca. Vediamo alcuni dei flag: -- g: a global flag which means looking for a pattern in whole text -- i: case insensitive flag(it searches for both lowercase and uppercase) -- m: multiline +- g: un flag globale che significa cercare un modello in tutto il testo +- i: flag di insensibilità alle maiuscole (cerca sia le minuscole che le maiuscole) +- m: multilinea -### Creating a pattern with RegExp Constructor +### Creare un pattern con il costruttore RegExp -Declaring regular expression without global flag and case insensitive flag. +Dichiarare un'espressione regolare senza flag globale e senza flag case insensitive. ```js // without flag @@ -76,7 +76,7 @@ let pattern = 'love' let regEx = new RegExp(pattern) ``` -Declaring regular expression with global flag and case insensitive flag. +Dichiarazione di un'espressione regolare con flag globale e flag case insensitive. ```js let pattern = 'love' @@ -84,33 +84,33 @@ let flag = 'gi' let regEx = new RegExp(pattern, flag) ``` -Declaring a regex pattern using RegExp object. Writing the pattern and the flag inside the RegExp constructor +Dichiarare un modello regex usando l'oggetto RegExp. Scrittura del pattern e del flag all'interno del costruttore RegExp ```js let regEx = new RegExp('love','gi') ``` -### Creating a pattern without RegExp Constructor +### Creare un pattern senza il costruttore RegExp -Declaring regular expression with global flag and case insensitive flag. +Dichiarazione di un'espressione regolare con flag globale e flag case insensitive. ```js let regEx= /love/gi ``` -The above regular expression is the same as the one which we created with RegExp constructor +L'espressione regolare di cui sopra è uguale a quella creata con il costruttore RegExp ```js let regEx= new RegExp('love','gi') ``` -### RegExpp Object Methods +### Metodi dell'oggetto RegExp -Let us see some of RegExp methods +Vediamo alcuni metodi di RegExp -#### Testing for a match +#### Testing per un match -*test()*:Tests for a match in a string. It returns true or false. +*test()*: Verifica la presenza di una corrispondenza in una stringa. Restituisce vero o falso. ```js const str = 'I love JavaScript' @@ -123,10 +123,10 @@ console.log(result) true ``` -#### Array containing all of the match +#### Array contenente tutto il match -*match()*:Returns an array containing all of the matches, including capturing groups, or null if no match is found. -If we do not use a global flag, match() returns an array containing the pattern, index, input and group. +*match()*: Restituisce un array contenente tutte le corrispondenze, compresi i gruppi di cattura, oppure null se non viene trovata alcuna corrispondenza. +Se non si utilizza un flag globale, match() restituisce un array contenente il pattern, l'indice, l'input e il gruppo. ```js const str = 'I love JavaScript' @@ -150,7 +150,7 @@ console.log(result) ["love"] ``` -*search()*: Tests for a match in a string. It returns the index of the match, or -1 if the search fails. +*search()*: Cerca una corrispondenza in una stringa. Restituisce l'indice della corrispondenza o -1 se la ricerca fallisce. ```js const str = 'I love JavaScript' @@ -163,9 +163,9 @@ console.log(result) 2 ``` -#### Replacing a substring +#### Sostituire una substring -*replace()*: Executes a search for a match in a string, and replaces the matched substring with a replacement substring. +*replace()*: Esegue la ricerca di una corrispondenza in una stringa e sostituisce la sottostringa corrispondente con una sostitutiva. ```js const txt = 'Python is the most beautiful language that a human begin has ever created.\ @@ -219,43 +219,43 @@ console.log(matches) I am teacher and I love teaching.There is nothing as more rewarding as educating and empowering people.I found teaching more interesting than any other jobs.Does this motivate you to be a teacher. ``` -* []: A set of characters - * [a-c] means, a or b or c - * [a-z] means, any letter a to z - * [A-Z] means, any character A to Z - * [0-3] means, 0 or 1 or 2 or 3 - * [0-9] means any number 0 to 9 - * [A-Za-z0-9] any character which is a to z, A to Z, 0 to 9 -* \\: uses to escape special characters - * \d mean: match where the string contains digits (numbers from 0-9) - * \D mean: match where the string does not contain digits -* . : any character except new line character(\n) -* ^: starts with - * r'^substring' eg r'^love', a sentence which starts with a word love - * r'[^abc] mean not a, not b, not c. -* $: ends with - * r'substring$' eg r'love$', sentence ends with a word love -* *: zero or more times - * r'[a]*' means a optional or it can occur many times. -* +: one or more times - * r'[a]+' means at least once or more times -* ?: zero or one times - * r'[a]?' means zero times or once -* \b: word bounder, matches with the beginning or ending of a word -* {3}: Exactly 3 characters -* {3,}: At least 3 characters -* {3,8}: 3 to 8 characters -* |: Either or - * r'apple|banana' mean either of an apple or a banana -* (): Capture and group - -![Regular Expression cheat sheet](../images/regex.png) - -Let's use example to clarify the above meta characters - -### Square Bracket - -Let's use square bracket to include lower and upper case +* []: Un insieme di caratteri + * [a-c] significa, a o b o c + * [a-z] significa, qualsiasi lettera da a a z + * [A-Z] significa qualsiasi carattere dalla A alla Z + * [0-3] significa, 0 o 1 o 2 o 3 + * [0-9] significa qualsiasi numero da 0 a 9 + * [A-Za-z0-9] qualsiasi carattere dalla a alla z, dalla A alla Z, da 0 a 9 +* \\: utilizza per sfuggire a caratteri speciali + * \d significa: corrisponde se la stringa contiene cifre (numeri da 0-9) + * \D significa: corrispondere a una stringa che non contiene cifre +* . : qualsiasi carattere tranne il carattere di nuova riga (\n) +* ^: inizia con + * r'^substring' eg r'^love', una frase che inizia con la parola amore + * r'[^abc] significa non a, non b, non c. +* $: finisce con + * r'substring$' eg r'love$', la frase termina con una parola amore +* *: zero o più volte + * r'[a]*' significa un optional o può verificarsi più volte. +* +: una o più volte + * r'[a]+' significa almeno una o più volte +* ?: zero o più volte + * r'[a]?' significa zero o una volta +* \b: delimitatore di parole, corrisponde all'inizio o alla fine di una parola +* {3}: Esattamente 3 caratteri +* {3,}: Almeno 3 caratteri +* {3,8}: Da 3 a 8 caratteri +* |: operatore or + * r'apple|banana' significa sia di una mela che di una banana +* (): Cattura e raggruppa + +![Regular Expression cheat sheet](../../images/regex.png) + +Utilizziamo un esempio per chiarire i meta-caratteri di cui sopra + +### Square Bracket (parentesi quadra) + +Utilizziamo la parentesi quadra per includere le lettere minuscole e maiuscole ```js const pattern = '[Aa]pple' // this square bracket means either A or a @@ -282,7 +282,7 @@ console.log(matches) ["Apple", "apple"] ``` -If we want to look for the banana, we write the pattern as follows: +Se vogliamo cercare la banana, scriviamo lo schema come segue: ```js const pattern = /[Aa]pple|[Bb]anana/g // this square bracket mean either A or a @@ -296,7 +296,7 @@ console.log(matches) ["Apple", "banana", "apple", "banana", "Banana"] ``` -Using the square bracket and or operator , we manage to extract Apple, apple, Banana and banana. +Utilizzando la parentesi quadra e l'operatore o , riusciamo a estrarre Apple, apple, Banana e banana. ### Escape character(\\) in RegExp @@ -316,7 +316,7 @@ const matches = txt. match(pattern) console.log(matches) // ["12", "2020"], this is not what we want ``` -### One or more times(+) +### Uno o più volte(+) ```js const pattern = /\d+/g // d is a special character which means digits @@ -343,9 +343,9 @@ const matches = txt.match(pattern) console.log(matches) // ['and banana are fruits'] ``` -### Zero or more times(*) +### Zero o più volte(*) -Zero or many times. The pattern may not occur or it can occur many times. +Zero o molte volte. Il modello può non verificarsi o verificarsi più volte. ```js @@ -357,9 +357,9 @@ console.log(matches) // ['and banana are fruits'] ``` -### Zero or one times(?) +### Zero oppure una volta(?) -Zero or one times. The pattern may not occur or it may occur once. +Zero o una volta. Il modello può non verificarsi o verificarsi una volta. ```js const txt = 'I am not sure if there is a convention how to write the word e-mail.\ @@ -373,7 +373,7 @@ console.log(matches) // ["e-mail", "email", "Email", "E-mail"] ### Quantifier in RegExp -We can specify the length of the substring we look for in a text, using a curly bracket. Let us see, how ot use RegExp quantifiers. Imagine, we are interested in substring that their length are 4 characters +Possiamo specificare la lunghezza della sottostringa che cerchiamo in un testo, utilizzando una parentesi graffa. Vediamo come utilizzare i quantificatori RegExp. Immaginiamo di essere interessati a una sottostringa la cui lunghezza sia di 4 caratteri ```js const txt = 'This regular expression example was made in December 6, 2019.' @@ -423,7 +423,7 @@ const matches = txt.match(pattern) console.log(matches) // ["6", "2019"] ``` -### Exact match +### Match esatto It should have ^ starting and $ which is an end. @@ -435,14 +435,14 @@ let result = pattern.test(name) console.log(result) // true ``` -🌕 You are going far. Keep going! Now, you are super charged with the power of regular expression. You have the power to extract and clean any kind of text and you can make meaning out of unstructured data. You have just completed day 12 challenges and you are 12 steps a head in to your way to greatness. Now do some exercises for your brain and for your muscle. +🌕 Stai andando lontano. Continuate così! Ora sei super caricato con il potere delle espressioni regolari. Hai il potere di estrarre e pulire qualsiasi tipo di testo e puoi ricavare un significato dai dati non strutturati. Hai appena completato le sfide del 12° giorno e sei a 12 passi dalla tua strada verso la grandezza. Ora fai qualche esercizio per il cervello e per i muscoli. ## 💻 Esercizi ### Esercizi: Livello 1 -1. Calculate the total annual income of the person from the following text. ‘He earns 4000 euro from salary per month, 10000 euro annual bonus, 5500 euro online courses per month.’ -1. The position of some particles on the horizontal x-axis -12, -4, -3 and -1 in the negative direction, 0 at origin, 4 and 8 in the positive direction. Extract these numbers and find the distance between the two furthest particles. +1. Calcolate il reddito totale annuo della persona che si trova nel testo seguente. 'Guadagna 4000 euro di stipendio al mese, 10000 euro di bonus annuale, 5500 euro di corsi online al mese.' +1. La posizione di alcune particelle sull'asse orizzontale x -12, -4, -3 e -1 in direzione negativa, 0 nell'origine, 4 e 8 in direzione positiva. Estraete questi numeri e trovate la distanza tra le due particelle più lontane. ```js points = ['-1', '2', '-4', '-3', '-1', '0', '4', '8'] @@ -450,7 +450,7 @@ sortedPoints = [-4, -3, -1, -1, 0, 2, 4, 8] distance = 12 ``` -1. Write a pattern which identify if a string is a valid JavaScript variable +1. Scrivere un modello che identifichi se una stringa è una variabile JavaScript valida. ```sh is_valid_variable('first_name') # True @@ -461,7 +461,7 @@ distance = 12 ### Esercizi: Livello 2 -1. Write a function called *tenMostFrequentWords* which get the ten most frequent word from a string? +1. Scrivere una funzione chiamata *tenMostFrequentWords* che ottenga le dieci parole più frequenti da una stringa? ```js paragraph = `I love teaching. If you do not love teaching what else can you love. I love Python if you do not love something which can give you all the capabilities to develop an application what else can you love.` @@ -514,7 +514,7 @@ distance = 12 ### Esercizi: Livello 3 -1. Writ a function which cleans text. Clean the following text. After cleaning, count three most frequent words in the string. +1. Scrivere una funzione che pulisca il testo. Pulire il testo seguente. Dopo la pulizia, contare le tre parole più frequenti nella stringa. ```js sentence = `%I $am@% a %tea@cher%, &and& I lo%#ve %tea@ching%;. There $is nothing; &as& mo@re rewarding as educa@ting &and& @emp%o@wering peo@ple. ;I found tea@ching m%o@re interesting tha@n any other %jo@bs. %Do@es thi%s mo@tivate yo@u to be a tea@cher!?` @@ -524,7 +524,7 @@ distance = 12 ```sh I am a teacher and I love teaching There is nothing as more rewarding as educating and empowering people I found teaching more interesting than any other jobs Does this motivate you to be a teacher ``` -2. Write a function which find the most frequent words. After cleaning, count three most frequent words in the string. +2. Scrivere una funzione che trovi le parole più frequenti. Dopo la pulizia, contare le tre parole più frequenti nella stringa. ```js console.log(mostFrequentWords(cleanedText)) diff --git a/Italian/13_Day_Console_object_methods/13_day_console_object_methods.md b/Italian/13_Day_Console_object_methods/13_day_console_object_methods.md index 2f907b2a..009f3e12 100644 --- a/Italian/13_Day_Console_object_methods/13_day_console_object_methods.md +++ b/Italian/13_Day_Console_object_methods/13_day_console_object_methods.md @@ -19,7 +19,7 @@ ![Thirty Days Of JavaScript](../../images/banners/day_1_13.png) - [Day 13](#day-13) - - [Console Object Methods](#console-object-methods) + - [Metodi Oggetto Console](#console-object-methods) - [console.log()](#consolelog) - [console.warn()](#consolewarn) - [console.error()](#consoleerror) @@ -37,19 +37,19 @@ # Day 13 -## Console Object Methods +## Metodi Oggetto Console -In this section, we will cover about console and console object methods. Absolute beginners usually do not know which to use: console.log(), document.write() or document.getElementById. +In questa sezione tratteremo i metodi della console e dell'oggetto console. I principianti assoluti di solito non sanno quale usare: console.log(), document.write() o document.getElementById. -We use console object methods to show output on the browser console and we use document.write to show output on the browser document(view port). Both methods used only for testing and debugging purposes. The console method is the most popular testing and debugging tool on the browser. We use document.getElementById() when we like to interact with DOM try using JavaScript. We will cover DOM in another section. +Utilizziamo i metodi degli oggetti console per mostrare l'output sulla console del browser e document.write per mostrare l'output sul documento del browser (porta di visualizzazione). Entrambi i metodi sono utilizzati solo per scopi di test e debug. Il metodo console è lo strumento di test e debug più diffuso nel browser. Utilizziamo document.getElementById() quando vogliamo interagire con il DOM utilizzando JavaScript. Tratteremo il DOM in un'altra sezione. -In addition to the famous, console.log() method, the console provides other more methods. +Oltre al famoso metodo console.log(), la console fornisce altri metodi. ### console.log() -We use console.log() to show output on the browser console. We can substitute values and also we can style the logging out put using %c. +Usiamo console.log() per mostrare l'output sulla console del browser. Possiamo sostituire i valori e anche stilizzare il log con %c. -- Showing output on browser console +- Mostrare l'output sulla console del browser ```js console.log('30 Days of JavaScript') @@ -71,7 +71,7 @@ console.log('%d %s of JavaScript', 30, 'Days') - CSS -We can style logging message using css. Copy the following code and paste it on browser console to see the result. +Possiamo stilizzare il messaggio di registrazione usando i css. Copiare il codice seguente e incollarlo nella console del browser per vedere il risultato. ```js console.log('%c30 Days Of JavaScript', 'color:green') // log output is green @@ -87,7 +87,7 @@ console.log( ### console.warn() -We use console.warn() to give warning on browser. For instance to inform or warn deprecation of version of a package or bad practices. Copy the following code and paste it on browser console to see warning messages. +Utilizziamo console.warn() per fornire avvisi al browser. Per esempio, per informare o avvisare della deprecazione di una versione di un pacchetto o di cattive pratiche. Copiate il codice seguente e incollatelo nella console del browser per visualizzare i messaggi di avviso. ```js console.warn('This is a warning') @@ -99,7 +99,7 @@ console.warn('Warning is different from error') ### console.error() -The console.error() method shows an error messages. +Il metodo console.error() mostra un messaggio di errore. ```js console.error('This is an error message') @@ -108,16 +108,16 @@ console.error('We all make mistakes') ### console.table() -The console.table() method display data as a table on the console. Displays tabular data as a table. The console.table() takes one required argument data, which must be an array or an object, and one additional optional parameter columns. +Il metodo console.table() visualizza i dati come tabella sulla console. Visualizza i dati in forma di tabella. Il metodo console.table() accetta un parametro obbligatorio, data, che deve essere un array o un oggetto, e un parametro opzionale aggiuntivo columns. -Let us first start with a simple array. The code below displays a table with two columns. An index column to display the index and value column to display the names +Cominciamo con un semplice array. Il codice seguente visualizza una tabella con due colonne. Una colonna indice per visualizzare l'indice e una colonna valore per visualizzare i nomi. ```js const names = ['Asabeneh', 'Brook', 'David', 'John'] console.table(names) ``` -Let us also check the result of an object. This creates table with two columns:an index column containing the keys and a value column contain the values of the object. +Controlliamo anche il risultato di un oggetto. Si crea una tabella con due colonne: una colonna indice contenente le chiavi e una colonna valore contenente i valori dell'oggetto. ```js const user = { @@ -130,7 +130,7 @@ const user = { console.table(user) ``` -Check the rest of the examples by copying and paste on the browser console. +Verificate il resto degli esempi copiando e incollando sulla console del browser. ```js const countries = [ @@ -177,7 +177,7 @@ console.table(users) ### console.time() -Starts a timer you can use to track how long an operation takes. You give each timer a unique name, and may have up to 10,000 timers running on a given page. When you call console.timeEnd() with the same name, the browser will output the time, in milliseconds, that elapsed since the timer was started. +Avvia un timer che può essere utilizzato per tenere traccia del tempo necessario per un'operazione. A ogni timer viene assegnato un nome univoco e si possono avere fino a 10.000 timer in esecuzione su una data pagina. Quando si chiama console.timeEnd() con lo stesso nome, il browser visualizza il tempo, in millisecondi, trascorso dall'avvio del timer. ```js const countries = [ @@ -220,11 +220,11 @@ Norway Oslo forEach loop: 0.358154296875ms ``` -According the above output the regular for loop is slower than for of or forEach loop. +Secondo l'output sopra riportato, il ciclo for regolare è più lento del ciclo for of o forEach. ### console.info() -It displays information message on browser console. +Visualizza un messaggio informativo sulla console del browser. ```js console.info('30 Days Of JavaScript challenge is trending on Github') @@ -234,7 +234,7 @@ console.info('30 Days Of HTML and CSS challenge might be released') ### console.assert() -The console.assert() methods writes an error message to the console if the assertion is false. If the assertion is true, nothing happens. The first parameter is an assertion expression. If this expression is false, an Assertion failed error message will be displayed. +Il metodo console.assert() scrive un messaggio di errore nella console se l'asserzione è falsa. Se l'asserzione è vera, non succede nulla. Il primo parametro è un'espressione di asserzione. Se questa espressione è falsa, viene visualizzato un messaggio di errore Asserzione fallita. ```js console.assert(4 > 3, '4 is greater than 3') // no result @@ -249,7 +249,7 @@ for (let i = 0; i <= 10; i += 1) { ### console.group() -The console.group() can help to group different log groups. Copy the following code and paste it on browser console to the groups. +Console.group() può aiutare a raggruppare diversi gruppi di log. Copiare il codice seguente e incollarlo nella console del browser per i gruppi. ```js const names = ['Asabeneh', 'Brook', 'David', 'John'] @@ -312,7 +312,7 @@ console.groupEnd() ### console.count() -It prints the number of times the console.count() is called. It takes a string label parameter. It is very helpful to count the number of times a function is called. In the following example, the console.count() method will run three times +Stampa il numero di volte in cui viene richiamato console.count(). Richiede un parametro stringa label. È molto utile per contare il numero di volte che una funzione viene chiamata. Nell'esempio seguente, il metodo console.count() verrà eseguito tre volte ```js const func = () => { @@ -331,27 +331,27 @@ Function has been called: 3 ### console.clear() -The console.clear() cleans the browser console. +Console.clear() pulisce la console del browser. -🌕 Keep up the good work. Keep pushing, the sky is the limit! You have just completed day 13 challenges and you are 13 steps a head in to your way to greatness. Now do some exercises for your brain and for your muscle. +🌕 Continua a lavorare bene. Continua a spingere, il cielo è il limite! Hai appena completato le sfide del 13° giorno e sei a 13 passi dalla tua strada verso la grandezza. Ora fai qualche esercizio per il cervello e per i muscoli. ## Esercizi ### Esercizi:Level 1 -1. Display the countries array as a table -2. Display the countries object as a table -3. Use console.group() to group logs +1. Visualizzare l'array di paesi come tabella +2. Visualizzare l'oggetto Paesi come tabella +3. Usare console.group() per raggruppare i log. -### Esercizi:Level 2 +### Esercizi:Livello 2 -1. 10 > 2 \* 10 use console.assert() -2. Write a warning message using console.warn() -3. Write an error message using console.error() +1. 10 > 2 \* 10 usare console.assert() +2. Scrivere un messaggio di avviso usando console.warn() +3. Scrivere un messaggio di errore usando console.error() ### Esercizi:Level 3 -1. Check the speed difference among the following loops: while, for, for of, forEach +1. Verificare la differenza di velocità tra i seguenti cicli: while, for, for of, forEach 🎉 CONGRATULAZIONI ! 🎉 diff --git a/Italian/14_Day_Error_handling/14_day_error_handling.md b/Italian/14_Day_Error_handling/14_day_error_handling.md index 864b6b6a..96793933 100644 --- a/Italian/14_Day_Error_handling/14_day_error_handling.md +++ b/Italian/14_Day_Error_handling/14_day_error_handling.md @@ -19,8 +19,8 @@ ![Thirty Days Of JavaScript](../../images/banners/day_1_14.png) - [Day 14](#day-14) - - [Error Handling](#error-handling) - - [Error Types](#error-types) + - [Gestione Errori](#error-handling) + - [Tipi di Errore](#error-types) - [Esercizi](#exercises) - [Esercizi:Level 1](#exerciseslevel-1) - [Esercizi: Livello 2](#exercises-level-2) @@ -28,11 +28,11 @@ # Day 14 -## Error Handling +## Gestione Errori -JavaScript is a loosely-typed language. Some times you will get a runtime error when you try to access an undefined variable or call undefined function etc. +JavaScript è un linguaggio a tipizzazione libera. A volte si ottiene un errore di runtime quando si tenta di accedere a una variabile non definita o di chiamare una funzione non definita, ecc. -JavaScript similar to python or Java provides an error-handling mechanism to catch runtime errors using try-catch-finally block. +JavaScript, simile a Python o Java, fornisce un meccanismo di gestione degli errori per catturare gli errori di runtime utilizzando il blocco try-catch-finally. ```js try { @@ -44,11 +44,11 @@ try { } ``` -**try**: wrap suspicious code that may throw an error in try block.The try statement allows us to define a block of code to be tested for errors while it is being executed. +L'istruzione *try* ci permette di definire un blocco di codice che deve essere testato per verificare la presenza di errori durante l'esecuzione. -**catch**: write code to do something in catch block when an error occurs. The catch block can have parameters that will give you error information. Catch block is used to log an error or display specific messages to the user. +**catch**: scrivere il codice per fare qualcosa nel blocco catch quando si verifica un errore. Il blocco catch può avere dei parametri che forniscono informazioni sull'errore. Il blocco catch viene utilizzato per registrare un errore o per visualizzare messaggi specifici all'utente. -**finally**: finally block will always be executed regardless of the occurrence of an error. The finally block can be used to complete the remaining task or reset variables that might have changed before error occurred in try block. +**finally**: il blocco finally viene sempre eseguito, indipendentemente dal verificarsi di un errore. Il blocco finally può essere usato per completare il compito rimanente o per resettare le variabili che potrebbero essere cambiate prima del verificarsi dell'errore nel blocco try. **Esempio:** @@ -83,7 +83,7 @@ ReferenceError: fistName is not defined In any case it will be executed ``` -The catch block take a parameter. It is common to pass e, err or error as a parameter to the catch block. This parameter is an object and it has name and message keys. Lets use the name and message. +Il blocco catch accetta un parametro. È comune passare e, err o error come parametro al blocco catch. Questo parametro è un oggetto e ha le chiavi name e message. Utilizziamo il nome e il messaggio. ```js try { @@ -103,7 +103,7 @@ Error message fistName is not defined In any case I will be executed ``` -throw: the throw statement allows us to create a custom error. We can through a string, number, boolean or an object. Use the throw statement to throw an exception. When you throw an exception, expression specifies the value of the exception. Each of the following throws an exception: +throw: l'istruzione throw consente di creare un errore personalizzato. Possiamo utilizzare una stringa, un numero, un booleano o un oggetto. Utilizzare l'istruzione throw per lanciare un'eccezione. Quando si lancia un'eccezione, l'espressione specifica il valore dell'eccezione. Ognuno dei seguenti comandi lancia un'eccezione: ```js throw 'Error2' // generates an exception with a string value @@ -129,9 +129,9 @@ const throwErrorExampleFun = () => { throwErrorExampleFun() ``` -### Error Types +### Tipi di Errore -- ReferenceError: An illegal reference has occurred. A ReferenceError is thrown if we use a variable that has not been declared. +- ReferenceError: Si è verificato un riferimento illegale. Un ReferenceError viene lanciato se si utilizza una variabile che non è stata dichiarata. ```js let firstName = 'Asabeneh' @@ -145,7 +145,7 @@ Uncaught ReferenceError: lastName is not defined at :2:35 ``` -- SyntaxError: A syntax error has occurred +- SyntaxError: Si è verificato un errore di sintassi ```js let square = 2 x 2 @@ -158,7 +158,7 @@ console.log('Hello, world") Uncaught SyntaxError: Unexpected identifier ``` -- TypeError: A type error has occurred +- TypeError: Si è verificato un errore di tipo ```js let num = 10 @@ -170,23 +170,23 @@ Uncaught TypeError: num.toLowerCase is not a function at :2:17 ``` -These are some of the common error you may face when you write a code. Understanding errors can help you to know what mistakes you made and it will help you to debug your code fast. +Questi sono alcuni degli errori più comuni che si possono incontrare quando si scrive un codice. Capire gli errori può aiutarvi a capire quali sono gli errori commessi e vi aiuterà a eseguire il debug del codice in modo rapido. -🌕 You are flawless. Now, you knew how to handle errors and you can write robust application which handle unexpected user inputs. You have just completed day 14 challenges and you are 14 steps a head in to your way to greatness. Now do some exercises for your brain and for your muscle. +🌕 Sei impeccabile. Ora sai come gestire gli errori e sei in grado di scrivere applicazioni robuste che gestiscono gli input inaspettati dell'utente. Hai appena completato le sfide del giorno 14 e sei a 14 passi dalla tua strada verso la grandezza. Ora fai qualche esercizio per il cervello e per i muscoli. ## Esercizi ### Esercizi:Level 1 -Practice +Fai pratica ### Esercizi: Livello 2 -Practice +Fai pratica ### Esercizi:Level -Practice +Fai pratica 🎉 CONGRATULAZIONI ! 🎉 diff --git a/Italian/readMe.md b/Italian/readMe.md index a41a2a9d..5af388c9 100644 --- a/Italian/readMe.md +++ b/Italian/readMe.md @@ -1,9 +1,8 @@ # 30 Days Of JavaScript -| # Giorni | Topics | - -| ----- | :-------------------------------------------------------------------------------------------------------------------------------------------------: | +| # Giorni | Topics | +| ---- | :-------------------------------------------------------------------------------------------------------------------------------------------------: | | 01 | [Introduzione](./readMe.md) | @@ -129,71 +128,39 @@ ![Thirty Days Of JavaScript](../images/day_1_1.png) -- [30 Days Of JavaScript](#30-days-of-javascript) - -- [📔 Giorno 1](#-day-1) - -- [Introduzione](#introduction) - -- [Requisiti](#requirements) - -- [Setup](#setup) - -- [Installazione Node.js](#install-nodejs) - -- [Browser](#browser) - -- [Installazione di Google Chrome](#installing-google-chrome) - -- [Apertura Console di Google Chrome](#opening-google-chrome-console) - -- [Scrivere codice sulla Console del Browser](#writing-code-on-browser-console) - -- [Console.log](#consolelog) - -- [Console.log con Argomenti Multipli](#consolelog-with-multiple-arguments) - -- [commenti](#comments) - -- [Sintassi](#syntax) - -- [Aritmetica](#arithmetics) - -- [Editor Codice](#code-editor) - -- [Installazione Visual Studio Code](#installing-visual-studio-code) - -- [Come usare Visual Studio Code](#how-to-use-visual-studio-code) - -- [Aggiungere JavaScript ad una Pagina Web](#adding-javascript-to-a-web-page) - -- [Inline Script](#inline-script) - -- [Internal Script](#internal-script) - -- [External Script](#external-script) - -- [Multipli External Scripts](#multiple-external-scripts) - -- [Introduzione ai Tipi di Dato](#introduction-to-data-types) - -- [Numbers](#numbers) - -- [Strings](#strings) - -- [Booleans](#booleans) - -- [Undefined](#undefined) - -- [Null](#null) - -- [Verificare il Tipo dei Dati](#checking-data-types) - -- [Ancora Commenti](#comments-again) - -- [Variabili](#variables) - -- [💻 Giorno 1: Esercizi](#-day-1-exercises) +- [30 Days Of JavaScript](#30-days-of-javascript) +- [📔 Giorno 1](#-day-1) + - [Introduzione](#introduction) + - [Requisiti](#requirements) + - [Setup](#setup) + - [Installazione Node.js](#install-nodejs) + - [Browser](#browser) + - [Installazione di Google Chrome](#installing-google-chrome) + - [Apertura Console di Google Chrome](#opening-google-chrome-console) + - [Scrivere codice sulla Console del Browser](#writing-code-on-browser-console) + - [Console.log](#consolelog) + - [Console.log con Argomenti Multipli](#consolelog-with-multiple-arguments) + - [commenti](#comments) + - [Sintassi](#syntax) + - [Aritmetica](#arithmetics) + - [Editor Codice](#code-editor) + - [Installazione Visual Studio Code](#installing-visual-studio-code) + - [Come usare Visual Studio Code](#how-to-use-visual-studio-code) + - [Aggiungere JavaScript ad una Pagina Web](#adding-javascript-to-a-web-page) + - [Inline Script](#inline-script) + - [Internal Script](#internal-script) + - [External Script](#external-script) + - [Multipli External Scripts](#multiple-external-scripts) + - [Introduzione ai Tipi di Dato](#introduction-to-data-types) + - [Numbers](#numbers) + - [Strings](#strings) + - [Booleans](#booleans) + - [Undefined](#undefined) + - [Null](#null) + - [Verificare il Tipo dei Dati](#checking-data-types) + - [Ancora Commenti](#comments-again) + - [Variabili](#variables) +- [💻 Giorno 1: Esercizi](#-day-1-exercises) # 📔 Giorno 1 diff --git a/readMe.md b/readMe.md index 65eaaf2e..8fc639c7 100644 --- a/readMe.md +++ b/readMe.md @@ -58,6 +58,7 @@ 🇬🇧 [English](./readMe.md) 🇪🇸 [Spanish](./Spanish/readme.md) +🇮🇹 [Italian](./Italian/readMe.md) 🇷🇺 [Russian](./RU/README.md) 🇹🇷 [Turkish](./Turkish/readMe.md) 🇦🇿 [Azerbaijan](./Azerbaijani/readMe.md)