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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/
37 changes: 37 additions & 0 deletions challenge_1/challenge_1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
const reduce = ([a,...b],fn,initValue)=>a?reduce(b,fn,fn(initValue,a)):initValue
const map = (arr,fn)=>reduce(arr,(acc,curr)=>acc.concat(fn(curr,arr)),[])
const filter = (arr,fn)=>reduce(arr,(acc,curr)=>fn(curr)? acc.concat(curr) :acc,[])
const print = console.log
/**
* @author Thom Maurick Roman Aguilar - thomtwd@gmail.com
* @param {arr} es el array para buscar
* @param {value} es el element que será el que comprueba
* @return La función retornará un array de array
* @example ([2,6,8,0,9,-10,-1]) and 8 => [[2,6] ,[8,0],[9,-1]]
*/

const filtered = (arr,value)=>{
let acc = []
const recursive = arr=>{
let flag = false
const [a,...b]=arr
let result = filter(b,item=>item+arr[0]===value)[0]
if(result===arr[0]) flag = true
if(result!==undefined ) {
acc.push([arr[0],result])
if(flag) arr.shift()
arr.splice(arr.indexOf(result),1)
}
if(!flag)arr.shift()
if(arr.length>0) recursive(arr)
return acc
}
return recursive(arr)
}
print(filtered([2,8,6,0,9,-10,-1,6],8))
print(filtered([2,5,1,7,8,-8,1],3))
print(filtered([1,2,3,2,7,8,-3],4))
print(filtered([1,2,4,2,7,8,-3],4))
print(filtered([1,2,4,2,7,8,-3],8))
print(filtered( [4, 6, 2, -6, 10],8))
print(filtered( [1,1,1,8,7,9,0,2],9)) // arreglar -> [[1,8] [7,2] [9,0]]
35 changes: 35 additions & 0 deletions challenge_1/changelle_2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
class Song{
constructor(title,duration,author){
this.title=title
this.duration = duration
this.author=new author(author.name,author.pais)
}
}
class DB{
constructor(songs){
this.songs=songs
}
}
let SpotifyDB
function spotify(){
return {
init(){
SpotifyDB=new DB([])
},
addSong(title,duration,author){
SpotifyDB.songs.push(new Song(title,duration,author))
}
}
}
//agregar editar eliminar mostrar -- agregar a discografia
// agregar discografia a autor

let spotifyInstance = spotify()

spotifyInstance.init()
spotifyInstance.addSong('Cancion 1',4.3,{nombre:'asd',pais:'tango'})

console.log(SpotifyDB);


// 12 de la noche el sabado
95 changes: 95 additions & 0 deletions challenge_2/config/yargs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
const argv = require('yargs')

const id = {
alias:'i',
demand:true
}
const to_list = {}
const by_id ={id}

const create_artist={
id:{
alias:'i',
demand:true
}
,
name:{
demand:true,
alias:'n'
},
email:{
demand:true,
alias:'e'
},
dni:{
demand:true,
alias:'d'
}
}


const create_musical_genre={
id,
type:{
demand:true,
alias:'t'
}
}
const create_album={
id,
title:{
demand:true,
alias:'t',
},
date:{
demand:true,
alias:'d'
},
id_artist:{
demand:true,
alias:'a'
}
}

const create_song={
id,
id_genre:{
demand:true,
alias:'g'
},
id_album:{
demand:true,
alias:'a'
},
date:{
demand:true,
alias:'d'
},
title:{
demand:true,
alias:'t'
}
}

const yargs = argv.command('create_artist','Creacion de un artista',create_artist)
.command('create_musical_genre','Creacion de un genero musical',create_musical_genre)
.command('create_album','Creacion de un album',create_album)
.command('create_song','Creacion de una cancion',create_song)
.command('to_list_artists','Listar artistas',to_list)
.command('show_artist_by_id','Mostrar artista por id',by_id)
.command('to_list_songs','Listar canciones',to_list)
.command('show_song_by_id','Mostrar cancion por id',by_id)
.command('to_list_albums','Listar albumes',to_list)
.command('show_album_by_id','Mostrar album por id',by_id)
.command('to_list_gs','Listar generos',to_list)
.command('show_genre_by_id','Mostrar genero por id',by_id)
.command('delete_by_id_song','Eliminar cancion por id',by_id)
.command('delete_by_id_artist','Eliminar artista por id',by_id)
.command('delete_by_id_album','Eliminar album por id',by_id)
.command('delete_by_id_gn','Eliminar genero por id',by_id)
.help()
.argv

module.exports= {
yargs
}
Loading