Road To Javscripting (help me) :)


Höfundur
Semboy
</Snillingur>
Póstar: 1051
Skráði sig: Lau 05. Maí 2007 22:28
Reputation: 100
Staða: Ótengdur

Road To Javscripting (help me) :)

Pósturaf Semboy » Fös 08. Nóv 2019 05:22

https://www.amazon.com/Eloquent-JavaScr ... oks&sr=1-2

fann lika þessa


https://leanpub.com/javascriptallongesix

og þetta er það sem ég fann, Ég hef only áhuga að koða ekki búa til vefsiður.-
Síðast breytt af Semboy á Sun 17. Nóv 2019 15:09, breytt samtals 1 sinni.


hef ekkert að segja LOL!


Sporður
has spoken...
Póstar: 199
Skráði sig: Mán 22. Okt 2018 09:06
Reputation: 49
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Pósturaf Sporður » Fös 08. Nóv 2019 08:44

Ef þú ert að byrja að læra Javascript þá myndi ráðleggja þér að spara peningana þína og byrja á youtube og/eða síðum eins og codecademy.

Bara mínar 2 krónur.



Skjámynd

Hauxon
spjallið.is
Póstar: 405
Skráði sig: Fös 10. Júl 2009 12:32
Reputation: 119
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Pósturaf Hauxon » Fös 08. Nóv 2019 09:19

Segi það sama, bækur eru ágætar en það er til svo mikið að góðu kennsluefni á netinu. Ég nota oftast Udemy þegar mig vantar að bæta þekkinguna.

https://www.udemy.com/topic/javascript/

Vei ekki hvað þú kannt fyrir í forritun en í Javascript eins og öðrum málum er lykilatriði að kunna grunnatriðin í allri forritun (óháð málum), skilja breyturnar og scope á þeim, lúppurnar, hvernig objectar virka og muninn á object og instance osfrv. Og í Javascript þá kemstu ekkert áfram bara með Javascript heldur eru það libraryin og frameworkin sem er það sem maður vinnur í. Þú verður að lágmarki að kynna þér JQuery þegar þú ert kominn af stað í JS.

...Ég hef only áhuga að koða ekki búa til vefsiður.-

Javascript er nær alltaf næst framendanum þ.a. "vefsíðugerð" er aldrei langt undan. Þú þarf að hafa grunnskilning á CSS og HTML til að Javascript gagnist þér eitthvað. Ef þú ert að spá í að nota JS í bakendanum þá þarftu að skoða NodeJS vel. Ef þú ætlar einungis að forrita í bakenda myndi ég leggja meiri áherlsu að læra Python, amk mín skoðun.

Góða skemmtun! :D



Skjámynd

Hjaltiatla
Besserwisser
Póstar: 3090
Skráði sig: Mið 07. Okt 2009 20:54
Reputation: 522
Staðsetning: ::1
Staða: Tengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Pósturaf Hjaltiatla » Fös 08. Nóv 2019 09:42

Hef það á tilfinningunni að hann sé að leita sér að kennsluefni til að skilja JSON (Javascript object notation) betur.
OP leiðréttir mig ef það er ekki tilfellið.


Just do IT
  √

Skjámynd

Viktor
Internetsérfræðingur
Póstar: 6773
Skráði sig: Mán 04. Apr 2005 11:01
Reputation: 934
Staðsetning: https://notendur.hi.is/vjh2/
Hafðu samband:
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Pósturaf Viktor » Fös 08. Nóv 2019 10:30

Ef þú vilt ekki kóða vefsíður byrjaðu þá á Python.

Ef þú vilt læra Javascript þá er frítt efni á netinu miklu betra en hvaða bók sem þú munt nokkurn tíman finna.

Wesbos er besti kennari sem ég hef fundið:
https://javascript30.com/ frá www.wesbos.com


I wish I was cool enough to not care how much I care about pretending not to care about things


Macbook Pro 13" M2 16GB 512GB

Ryzen 3600X 2070S 16GB


Höfundur
Semboy
</Snillingur>
Póstar: 1051
Skráði sig: Lau 05. Maí 2007 22:28
Reputation: 100
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Pósturaf Semboy » Fös 08. Nóv 2019 11:45

Hjaltiatla skrifaði:Hef það á tilfinningunni að hann sé að leita sér að kennsluefni til að skilja JSON (Javascript object notation) betur.
OP leiðréttir mig ef það er ekki tilfellið.



ahh ég hefði átt að koma það á framfæri. Þú hefur rétt fyrir þér!


Edit: ég er búin að klára nokkur bootcamp.
https://youtu.be/PkZNo7MFNFg
og á scrimba.com, ég tel mig þekkja javascript það vel að ég get skrifað einfalda hluti eins og dummy black jack leik í (console).


hef ekkert að segja LOL!

Skjámynd

Hjaltiatla
Besserwisser
Póstar: 3090
Skráði sig: Mið 07. Okt 2009 20:54
Reputation: 522
Staðsetning: ::1
Staða: Tengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Pósturaf Hjaltiatla » Fös 08. Nóv 2019 12:02

Semboy skrifaði:
Hjaltiatla skrifaði:Hef það á tilfinningunni að hann sé að leita sér að kennsluefni til að skilja JSON (Javascript object notation) betur.
OP leiðréttir mig ef það er ekki tilfellið.



ahh ég hefði átt að koma það á framfæri. Þú hefur rétt fyrir þér!


Edit: ég er búin að klára nokkur bootcamp.
https://youtu.be/PkZNo7MFNFg
og á scrimba.com, ég tel mig þekkja javascript það vel að ég get skrifað einfalda hluti eins og dummy black jack leik í (console).


Skil þig, Ég hef ekki mikið til málanna að leggja hvað varðar JSON (hvernig best er að læra Syntaxinn til að geta bjargað sér þegar maður er að tala við API-s). En reikna með að einhverjar hafi betri bakgrunn í forritun til að ráðleggja þér með það.

Sjálfur er ég mest að vinna með YAML skrár í Kubernetes og Docker ATM


Just do IT
  √

Skjámynd

Viktor
Internetsérfræðingur
Póstar: 6773
Skráði sig: Mán 04. Apr 2005 11:01
Reputation: 934
Staðsetning: https://notendur.hi.is/vjh2/
Hafðu samband:
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Pósturaf Viktor » Fös 08. Nóv 2019 19:45

Ef einhver eru að pæla í Python þá er þessi algjör öðlingur:



I wish I was cool enough to not care how much I care about pretending not to care about things


Macbook Pro 13" M2 16GB 512GB

Ryzen 3600X 2070S 16GB


Höfundur
Semboy
</Snillingur>
Póstar: 1051
Skráði sig: Lau 05. Maí 2007 22:28
Reputation: 100
Staða: Ótengdur

Re: Vantar aðstoð að velja bók fyrir Javascript

Pósturaf Semboy » Sun 17. Nóv 2019 15:12

Kóði: Velja allt

var arr = [10,20,30,40];

function arrayToList(arr) {
  if(arr.length==0) return null;
  if(1 == arr.length){
    obj = {};
    obj.value = arr[0];
    obj.rest = null;
    return obj;
  }
  var obj = {};
  obj["value"] = arr[0];
  arr.shift();
  obj["rest"] = arrayToList(arr);
 
  return obj;
 }

//arr.push("hello");
//console.log(arrayToList(arr));

console.log(arrayToList(arr));



og ég fæ þetta output:

Kóði: Velja allt

{ value: 10, rest: { value: 20, rest: { value: 30, rest: [Object] } } } 

það sem ég vil fá er þetta:

Kóði: Velja allt

 { value: 10, rest: { value: 20, rest: { value: 30, rest: { Value 40, rest: null } } } }


hef ekkert að segja LOL!

Skjámynd

dori
Besserwisser
Póstar: 3605
Skráði sig: Fim 12. Feb 2009 10:46
Reputation: 142
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Pósturaf dori » Sun 17. Nóv 2019 16:24

Það er margt við þetta að athuga en ég held að þú sért að fá alveg það sem þú vilt fá útúr þessu.

Ef þú breytir síðustu línunni í

Kóði: Velja allt

console.log(JSON.stringify(arrayToList(arr)));


þá ætti þetta að koma rétt út. Það er bara REPLinn sem þú ert í sem sýnir ekki svona djúpt nestað by default.




Höfundur
Semboy
</Snillingur>
Póstar: 1051
Skráði sig: Lau 05. Maí 2007 22:28
Reputation: 100
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Pósturaf Semboy » Sun 17. Nóv 2019 21:03

Kóði: Velja allt

function arrayToList(arr) {
 
  if(arr.length==0) return null;
  if(1 == arr.length){
    obj = {};
    obj.value = arr[0];
    obj.rest = null;
    return obj;
  }
    var obj = {};
     obj["value"] = arr[0];
     obj["rest"] = arrayToList(arr.slice(1));
 
  return obj;
   
 }



fixed - sá major bug, á gamla koðan


hef ekkert að segja LOL!


asgeirbjarnason
Ofur-Nörd
Póstar: 273
Skráði sig: Fim 28. Apr 2016 20:17
Reputation: 70
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Pósturaf asgeirbjarnason » Mán 18. Nóv 2019 02:41

Ertu að skrifa þetta fall til að læra um recursion?

Ein smá athugasemd án þess að breyta kóðanum eitthvað mikið; þú ert að endurtaka sömu línurnar að óþörfu. Þ.e, hefur til dæmis obj = {}; obj.value = arr[0]; báðu megin við if skilyrðinguna. Myndi breyta því þannig að einungis það sem breytist við if skilyrðið sé innan if svigana:

Kóði: Velja allt

function arrayToList(arr) {
    if (arr.length == 0) { return null; }
   
    var obj = {}
    obj.value = arr[0];
   
    if (arr.length == 1) { obj.rest = null; }
    else { obj.rest = arrayToList(arr.slice(1)); }
   
    return obj;
}




asgeirbjarnason
Ofur-Nörd
Póstar: 273
Skráði sig: Fim 28. Apr 2016 20:17
Reputation: 70
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Pósturaf asgeirbjarnason » Mán 18. Nóv 2019 02:48

Síðan er annað mál að það þarf ekki tvö if-skilyrði. Það er alveg nóg að hafa if (arr.length == 0) skilyrðið. Í rauninni muntu aldrei komast að því skilyrði eins og núverandi kóði er skrifaður, því þú hættir recursioninu með því að gera if arr.length is 1 -> obj.rest = null. Til að einfalda kóðann almennilega myndi ég líklega skrifa þetta svona:

Kóði: Velja allt

function arrayToList(arr) {
    if (arr.length == 0) { return null; }
   
    return {
        value: arr[0],
        rest: arrayToList(arr.slice(1))
    }
}




Höfundur
Semboy
</Snillingur>
Póstar: 1051
Skráði sig: Lau 05. Maí 2007 22:28
Reputation: 100
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Pósturaf Semboy » Mán 18. Nóv 2019 09:51

asgeirbjarnason skrifaði:Síðan er annað mál að það þarf ekki tvö if-skilyrði. Það er alveg nóg að hafa if (arr.length == 0) skilyrðið. Í rauninni muntu aldrei komast að því skilyrði eins og núverandi kóði er skrifaður, því þú hættir recursioninu með því að gera if arr.length is 1 -> obj.rest = null. Til að einfalda kóðann almennilega myndi ég líklega skrifa þetta svona:


Kóði: Velja allt

function arrayToList(arr) {
    if (arr.length == 0) { return null; }
   
    return {
        value: arr[0],
        rest: arrayToList(arr.slice(1))
    }
}


ég gerði þessu svona á endanum , en þin lausn er miklu betra :)

Kóði: Velja allt

 function arrayToList1(arr, index = 0) {
  if(arr.length == index) return null;
  else return {value: arr[index],
              rest: ((arr.length - 1 == index) ? null: arrayToList(arr, ++index))}
}


ég held samt, þetta er besta leiðin til að leysa þessu (ef við höfum svaka stór arrys)

Kóði: Velja allt

function arrayToList(arr) {
  var list = null;
  for (var i = arr.length - 1; i >= 0; i--) {
    list = {value: arr[i],
    rest: list};
  }
  return list;
}


hef ekkert að segja LOL!


asgeirbjarnason
Ofur-Nörd
Póstar: 273
Skráði sig: Fim 28. Apr 2016 20:17
Reputation: 70
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Pósturaf asgeirbjarnason » Mán 18. Nóv 2019 11:08

Semboy skrifaði:ég gerði þessu svona á endanum , en þin lausn er miklu betra :)

Kóði: Velja allt

 function arrayToList1(arr, index = 0) {
  if(arr.length == index) return null;
  else return {value: arr[index],
              rest: ((arr.length - 1 == index) ? null: arrayToList(arr, ++index))}
}



Nei, mín lausn er í rauninni ekki betri. Mín lausn notar array.slice() endurtekið, sem myndi nota fullt af minni ef arrayið er stórt. Þú skilgreinir „glugga“ í arrayið til að vinna með, svo það þarft ekki að afrita arrayið aftur og aftur (fyrir utan reyndar að það er ennþá óþarfa if-skilyrði þarna).

Semboy skrifaði:ég held samt, þetta er besta leiðin til að leysa þessu (ef við höfum svaka stór arrys)

Kóði: Velja allt

function arrayToList(arr) {
  var list = null;
  for (var i = arr.length - 1; i >= 0; i--) {
    list = {value: arr[i],
    rest: list};
  }
  return list;
}


Já, ef tilgangurinn var ekki að læra um recursion þá er þetta örugglega betri lausn í Javascript, en ef tilgangurinn er ekki að læra um recursion þá veit ég ekki til hvers maður myndi skrifa þetta fall.




Höfundur
Semboy
</Snillingur>
Póstar: 1051
Skráði sig: Lau 05. Maí 2007 22:28
Reputation: 100
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Pósturaf Semboy » Mán 18. Nóv 2019 11:14

asgeirbjarnason skrifaði:
Semboy skrifaði:ég gerði þessu svona á endanum , en þin lausn er miklu betra :)

Kóði: Velja allt

 function arrayToList1(arr, index = 0) {
  if(arr.length == index) return null;
  else return {value: arr[index],
              rest: ((arr.length - 1 == index) ? null: arrayToList(arr, ++index))}
}



Nei, mín lausn er í rauninni ekki betri. Mín lausn notar array.slice() endurtekið, sem myndi nota fullt af minni ef arrayið er stórt. Þú skilgreinir „glugga“ í arrayið til að vinna með, svo það þarft ekki að afrita arrayið aftur og aftur (fyrir utan reyndar að það er ennþá óþarfa if-skilyrði þarna).

Semboy skrifaði:ég held samt, þetta er besta leiðin til að leysa þessu (ef við höfum svaka stór arrys)

Kóði: Velja allt

function arrayToList(arr) {
  var list = null;
  for (var i = arr.length - 1; i >= 0; i--) {
    list = {value: arr[i],
    rest: list};
  }
  return list;
}


Já, ef tilgangurinn var ekki að læra um recursion þá er þetta örugglega betri lausn í Javascript, en ef tilgangurinn er ekki að læra um recursion þá veit ég ekki til hvers maður myndi skrifa þetta fall.



ég er að læra breyta array yfir á object, ég er að fylgja eftir bók.- vest að bókin hefur ekki lausn við þessu,
og já ég sagði þitt lausn væri betra, vegna þess það eru fáar linur hjá þér, - og var hissa afhverju mér datt það ekk í hug.


það sem ég geri við hvert exercise sem ég fæ, ég reyni að leysa vandamálið fyrst no matter what (eins margar linur og ég þarf) og siðan reyni ég að stytta koðan.


hef ekkert að segja LOL!

Skjámynd

gnarr
Kóngur
Póstar: 6419
Skráði sig: Lau 29. Mar 2003 19:54
Reputation: 280
Staðsetning: Reykjavík
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Pósturaf gnarr » Mán 18. Nóv 2019 11:35

Það er mjög auðvelt að gera þetta með reducer:

Kóði: Velja allt

const arr = [10,20,30,40];
const arrayToList = (arr) => arr.reduce((object, item, index) => {object[index] = item; return object;}, {});
console.log(JSON.stringify(arrayToList(arr)));


"Give what you can, take what you need."


asgeirbjarnason
Ofur-Nörd
Póstar: 273
Skráði sig: Fim 28. Apr 2016 20:17
Reputation: 70
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Pósturaf asgeirbjarnason » Mán 18. Nóv 2019 11:56

gnarr skrifaði:Það er mjög auðvelt að gera þetta með reducer:

Kóði: Velja allt

const arr = [10,20,30,40];
const arrayToList = (arr) => arr.reduce((object, item, index) => {object[index] = item; return object;}, {});
console.log(JSON.stringify(arrayToList(arr)));


Ha? Þetta skilar allt annarri gagnagrind en arrayToList fallið sem Semboy skrifaði. Þetta er niðurstaða þíns kóða:

Kóði: Velja allt

{"0":10,"1":20,"2":30,"3":40}


...og þetta er niðurstaða kóðans hans Semboy:

Kóði: Velja allt

{
    value: 10
    rest: {
        value: 20
        rest: {
            value: 30
            rest: {
                value: 40
                rest: null
            }
        }
    }
}



Skjámynd

gnarr
Kóngur
Póstar: 6419
Skráði sig: Lau 29. Mar 2003 19:54
Reputation: 280
Staðsetning: Reykjavík
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Pósturaf gnarr » Mán 18. Nóv 2019 13:31

asgeirbjarnason skrifaði:
gnarr skrifaði:Það er mjög auðvelt að gera þetta með reducer:

Kóði: Velja allt

const arr = [10,20,30,40];
const arrayToList = (arr) => arr.reduce((object, item, index) => {object[index] = item; return object;}, {});
console.log(JSON.stringify(arrayToList(arr)));


Ha? Þetta skilar allt annarri gagnagrind en arrayToList fallið sem Semboy skrifaði. Þetta er niðurstaða þíns kóða:

Kóði: Velja allt

{"0":10,"1":20,"2":30,"3":40}


...og þetta er niðurstaða kóðans hans Semboy:

Kóði: Velja allt

{
    value: 10
    rest: {
        value: 20
        rest: {
            value: 30
            rest: {
                value: 40
                rest: null
            }
        }
    }
}



Ahh, ég las eftirfarandi og hélt að hann væri að ruglast með þessum strúktúr. Fannst hann ekki meika sens.

Semboy skrifaði:ég er að læra breyta array yfir á object, ég er að fylgja eftir bók.- vest að bókin hefur ekki lausn við þessu,
og já ég sagði þitt lausn væri betra, vegna þess það eru fáar linur hjá þér, - og var hissa afhverju mér datt það ekk í hug.


Hérna er þá lausnin með reducer:

Kóði: Velja allt

const arr = [10,20,30,40];
const arrayToList = arr => arr.reduceRight((object, item) => ({ value: item, rest: object}), null);
console.log(JSON.stringify(arrayToList(arr)));


"Give what you can, take what you need."


asgeirbjarnason
Ofur-Nörd
Póstar: 273
Skráði sig: Fim 28. Apr 2016 20:17
Reputation: 70
Staða: Ótengdur

Re: Road To Javscripting (help me) :)

Pósturaf asgeirbjarnason » Mán 18. Nóv 2019 15:20

Við vitum reyndar ekkert hvernig verkefnið leit út sem Semboy var að reyna að leysa, svo ég veit ekki hvort gagnagrindin átti í rauninni að líta svona út. Var bara að gera ráð fyrir að hann væri ekki alveg á villigötum.