Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
node_modules/
node_modules/
Java_Ti_odio/
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
function tipodato(x, y) {
x.isInteger() ? console.log("Il valore è un numero") : console.log("Il valore non è un numero");
typeof y === "string" ? console.log("Il valore é una stringa") : console.log("Il valore non è una stringa");
y.trim()
}


tipodato(5, "Stringa")
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
function manipolazione(stringa) {
stringa = stringa.toLowerCase();
stringa = stringa.charAt(0).toUpperCase() + stringa.slice(1);
// stringa.charAt(0) = stringa.charAt(0).toUpperCase();
console.log(stringa);

}

manipolazione("CIAO")
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
x = [2, 6, 76, 24, 45, 3]

function operazione(x){
Lunghezza = x.length
somma = x.reduce((a, b) => a +b, 0);
media = somma / Lunghezza
console.log(media, somma)
return(media, somma)
}

operazione(x)
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
function tipodidato(x, y, z) {
typeof x === "number" ? console.log("Un numero") : console.log("Non un numero");
typeof y === "string" ? console.log("Una stringa") : console.log("Non una stringa");
typeof z === "string" ? console.log("Una Stringa") : console.log("Non una striga");
}

x = 2
y = "c"
z = 2,2


tipodidato(x, y, z)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
function concatena(x, y) {
x.concat(y)
console.log(x)
}

concatena("ciao", " mondo")
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
function name(params) {
try {
if (isNaN(params)) {
throw new Error("Non é un numero");
}
console.log("É un numero");
params = params / 2;
console.log(params);
} catch (error) {
console.error("Errore: " + error.message);
}
}

name("5");
name(5);
name("ciao");
200 changes: 200 additions & 0 deletions TPSI/mariotti_matteo/JS/Java_Ti_odio/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
/**
*
* @param {string} str
* @param {number} num
* @param {{str: string, num: Number, arr: []}} arr oggetto
* @param {{str: string, num: Number, arr: number[]}[]} // array di oggetti
* @param {numer | string} // entrambi
*
*/

const fn1 = (str, num, arr) => {

}

const isEven = (num) => num % 2 == 0;
// codice diverso

let str0 = "CIAO"


console.log(`Benvenuto al mio sito, ${str0}`);



// codice ancora diverso

const lunghezza = 3;

Array.from({lenght : lunghezza}).forEach(_, row =>{
console.log(" ".repeat(2 - row).concat("*").repeat(1 + row * 2))

}); // si aspetta un oggetto con una lunghezza


"".slice() // Accetta i numeri negativi,
[1, 2, 3].slice() // restituiscimi la porzione di una stringa/array da indice m a indice n
"".substring() // NOn accetta numeri negativi


"".trim() // toglie gli spazi all'inzio e alla fine

let arr = [1, 2,3, 5]
arr[-1] // non si può negativo
arr.at(-1) // si può negativo



let arr1 = [1,2,3]
let arr2 = [2,23]

console.log({...arr1, ...arr2}) // "..." spread operator "Coletello che spalma la marmellata sul pane"

let array_lungo = ["M", "m"]
const [ nome, cognome] = array_lungo // DESTRUCTORING
console.log(nome, cognome)


.every() // Controlla che tutti gli elementi di un array rispettino una condizione

.fill() // cambia tutti i valori in un valore deciso da me, statico posso mettere un indice
Array.from({lenght: 5 }, (v, indice) => indice) // metodo statico della classe array

.filter() // tutti gli elementi rispettano una condizione se non lo fanno li tolgo

.find() // trova l'oggetto data una condizione e lo restituisce

.findIndex() // trova l'oggetto data una condizione e ne restituisce l'indice

.flat() // ho un array bidimensionale e lo rendo monodimensionale (ho un array di n dimensioni e lo rendo n-1 dimension) quante volte lo voglio ridurre glielo posso passare

.forEach // per ogni elemento eseguo una funzione

.includes(); // se include un oggetto da passato

.join() // é il contrario di split
["c", "i", "a", "o"].join("") // il risultato sarà 'ciao'
["c", "i", "a", "o"].join("-") // il risultato sarà 'c-i-a-o'

.map() // Fa una mappatura dell'array

[1, 2, 3, 5].map(num => num **2) // mi restituira [1, 2, 9, 25]

.pop() // tolgo dal fondo e lo rimuovo dall'array (e ottengo così l'ultimo oggetto)

.push() // mette un valore che voglio didavantietro (in coda)

.reduce() // una callback function, riduco la dimensione di un array

numeri.reduce((acc, curr) => acc + curr, 0)

.reverse() // inverte l'ordine dell'array cambia propio l'array

let arr0 = [1, 2, 3]
let arra1 = arr0 // shallow copy non indipendente cambio una cambio tutte
let arra2 = JSON.parse(JSON.stringify(arr0)) // deep copy
let arra3 = [...arr0] // deep copy

.shift() // equivalente di .push() ma in testa
.unshift() // equivalente di .pop() ma in testa

.some() // controlla che almeno un oggetto rispetti la condzione

.sort() // ordina in base a come voglio io

[2, 1, 3].sort((a, b) => b - a) // decrescente
[2, 3 ,1].sort((a, b) => a + b) // crescente

// sort in automatico ordina in modo crescente e in ordine alfabetico

const mesi = ["gennaio", "febbraio"];

const mesiUtente = ["febbraio", "gennaio"]
mesiUtente.sort((a, b) => mesi.indexOf(a) - mesi.indexOf(b));// ordino in base alla lista precendete
mesiUtente.sort((a, b) => mesi.indexOf(a.toLowerCase()) - mesi.indexOf(b.toLowerCase()));// ordino in base alla lista precendete, indipendemente se é con CAPS o no

num.splice(indice, quanti_rimuoverne_a_partire_da_quell_indice, coso_sostitivo_n, coso_sostitivo_n_1, e_cosi_via) // Rimuove gli elementi da un array e se necessario ne sostituisce uno nuovo al loro posto


// MAP é UN OGGETTO

let mappa = new map() // Collezione di chiave valore

.set(chiave, valore) // imposta
.get() // Ottengo a partire dalla chiave
.has(chiave) // esiste qualcosa con quella chiave (restituirà un boolean)
.delete(chiave) // rimuove la chiave valore
.clear() // Rimuove tutto
.size() // dimensione


// I SET, un array di qualcosa !! NO DUPLICATI

.add()// imposta
.has(chiave) // esiste qualcosa con quella chiave (restituirà un boolean)
.delete(chiave) // rimuove la chiave valore
.clear() // Rimuove tutto
.size() // dimensione
.keys() // restituisce le chiavi
.values() // Restitusice
.entries() // mi restituisce tutte le entries



// PROGRAMMAZIONE AD OGGETTI


class macchina {
#altro
constructor(modello, costo, altro, km){
this.costo = costo; // pubblioc
this.modello = modello; // pubblico
this.#altro = altro; // una volta per convenzione si usava "_"
this.km = km
}

inMoto(){ //Metodo pubblico
console.log("Broom")
}
#attributoprivato(){ // metodo privato
console.log("Ciao")
}

get chilometriPercorsi() { // attributo pubblico / speudo propietà
return 72498+ 4234;
}

set chilometriPercorsi(val){ // assegno un valore / speudo propietà
this.km = val + this.km
}
}


const car = new macchina(toyota, 10000, ciao, 100)
car.costo
car.modello
car.inMoto()
macchina.chilometriPercorsi // GET
macchina.chilometriPercorsi = 1234 // SET



// Gestione degli errori


const fn = (num) =>{
if (num % 2 == 0){
throw new Error("Il numero è pari, possono essere solo dispari")
}

console.log(num)
}

try {
fn(1)
} catch (error) {
console.error(error.message) // uso message per non mettere tutto l'errore

}


14 changes: 14 additions & 0 deletions TPSI/mariotti_matteo/JS/Java_Ti_odio/index2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// scrivi una funzione che data una stringa che rappresenta un numero in una base =< 9 restituisce il numero in decimale

/**
* @param {number} base
* @param {string} str
*/

const fn = (str, base) => {
return str.split("").map(num => parseInt(num)).reverse().reduce((acc, curr, posizione) => acc + base ** posizione * curr, 0)

}


console.log(fn("001010", 2))
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
node_modules

# Output
.output
.vercel
.netlify
.wrangler
/.svelte-kit
/build

# OS
.DS_Store
Thumbs.db

# Env
.env
.env.*
!.env.example
!.env.test

# Vite
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
engine-strict=true
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# sv

Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli).

## Creating a project

If you're seeing this, you've probably already done this step. Congrats!

```bash
# create a new project in the current directory
npx sv create

# create a new project in my-app
npx sv create my-app
```

## Developing

Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:

```bash
npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open
```

## Building

To create a production version of your app:

```bash
npm run build
```

You can preview the production build with `npm run preview`.

> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"extends": "./.svelte-kit/tsconfig.json",
"compilerOptions": {
"allowJs": true,
"checkJs": false,
"moduleResolution": "bundler"
}
// Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias
// except $lib which is handled by https://svelte.dev/docs/kit/configuration#files
//
// If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
// from the referenced tsconfig.json - TypeScript does not merge them in
}
Loading