javascript or nodejs Áú¹® µå¸³´Ï´Ù.

   Á¶È¸ 3324   Ãßõ 0    

초보 개발자 입니다. nodejs 로 프로그램을 하나 만들고 있는데 구글에서 어떻게 찾아야 할지 몰라 

질문 드립니다. 다름이 아니라 javascript 나 . nodejs 에는.. 배열을 뒤집어주는 reverse() 란 함수가 존재합니다.


a = [1,2,3]

a.reverse()

a= [3,2,1]

이런식으로요 ... 그런데 .. a란 값을 여러 함수에서 써야 하는데 A함수에서는 그대로 쓰고 B함수에서는 reverse한상태로 쓰고 

c함수에서는 그대로 쓰고 해야 하는데 reverse() 할때마다 원본 a의 값이 변경 되는게 문제입니다.. 

b함수에서 reverse 를 하고 사용뒤에 .. c함수에서 a를 호출하면 reverse 된 값이 넘어와서.. 혹시나 싶어서 .. 

b 함수에 b 변수를 만들어서 . let b = a 로 한뒤에 .. .b.reverse() 로 사용해보려고 했는데 b.reverse() 를 하면 원본 a의 값도 

reverse()가 됩니다. let b= a 를 하게되면 b=a 와 .. 연결이 되어있는거 같은데 ..어떻게 분리 하는줄을 모르겠습니다.. 

다른 언어 책 봤을때  ref 인지 뭔지 .. 같은 메모리 값을 가르키고 있어서 그렇다 정도로만 인식하고 있습니다.. 

A와 .. 완전 분리된 B를 얻을 수 있는 방법이 있을까요 ? 어떻게 하면 b.reverse() 했을때 a 가 변경 안되고 b로만 단독으로 

사용 가능 할지 질문 드립니다.. 초보라서 .. 글로 잘 설명이 힘드네요 .혹 이해하시는 분 계시면.. 설명좀 부탁 드립니다.


ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
¿øº»À».ÆĶó¸ÞÅÍ·Î ¹Þ¾Æ ¸®¹ö½ºÇÏ´Â ÇÔ¼ö¸¦ ¸¸µé¾î »ç¿ëÇϼ¼¿ä
     
±èÁ¦¿¬ 2018-02
ÆĶó¹ÌÅÍ·Î ¹Þ¾Æµµ ... º¯°æÀÌ µË´Ï´Ù.
function test (a) {
    a.reverse()
}

var a = [1,2,3]

ÀÌ·¸°Ô Çϸé... ¿øº»ÀÇ [1,2,3]ÀÌ  [3,2,1] ·Î ¹Ù²ò´Ï´Ù.

±×·¡¼­ .. Á¦°¡ Ȥ½Ã³ª Çؼ­ ½ÃµµÇÑ ¹æ¹ýÀº ..

function test (a) {
    let b = a
    b.reverse()
}

var a = [1,2,3]

ÀÌ·¸°Ô Çصµ .. ¿øº» aÀÇ °ªÀÌ [3,2,1] ·Î º¯°æ µË´Ï´Ù.
±èÁ¦¿¬ 2018-02
function test (a) {
    console.log(a)
    let b = a
    b.reverse()
}

async function haha () {
    var a = [1,2,3]
    var b = await test(a)
    console.log(a)
}

haha()


°á°ú°ª
[ 1, 2, 3 ]
[ 3, 2, 1 ]
±èÁ¦¿¬ 2018-02
ÇØ°á‰Â°Í °°½À´Ï´Ù... °øºÎÇغ¸´Ï .. ¾èÀº º¹»ç¿Í ±íÀº º¹»ç°¡ ÀÖ³ªº¾´Ï´Ù.. Àú·±½Ã±à·Î Çϸé ÂüÁ¶¸¸ µÇ¾î¼­ ¾èÀº º¹»ç¶ó°í ÇÏ°í ...
±íÀº º¹»ç¸¦ »ç¿ëÇØ¾ß Çϴ°¡ º¾´Ï´Ù... °¨»çÇÕ´Ï´Ù.
     
¾èÀº º¹»ç¿Í ±íÀº º¹»ç¹®Á¦°¡ ¾Æ´Ï¶ó Àü¿ªº¯¼ö »ç¿ëÀÇ ¹®Á¦ÀÔ´Ï´Ù.
Áö¿ªº¯¼ö »ç¿ëÀ¸·Î ÀÎÇØ º¯¼ö scop¿¡ ÀÇÇØ ¼­·Î ´Ù¸£°Ô ÀνÄÇÏ´Â °ÍÀÔ´Ï´Ù.
          
±èÁ¦¿¬ 2018-02
¼­·Î ´Ù¸£°Ô ÀνÄÇÏ´Â°Ô ¹®Á¦°¡ ¾Æ´Ñ... Áö¿ªº¯¼ö¸¦ »ç¿ëÇßÀ½¿¡µµ .. Àü¿ªº¯¼öÀÇ °ªÀÌ µ¿ÀÏÇÏ°Ô º¯°æµÇ´Â°Ô ¹®Á¦¿´°í
±íÀº º¹»ç ¹®Á¦¿©¼­ ÇØ°áÇÏ¿´½À´Ï´Ù.
Q: a¶õ °ªÀ» ¿©·¯ ÇÔ¼ö¿¡¼­ ½á¾ß Çϴµ¥ AÇÔ¼ö¿¡¼­´Â ±×´ë·Î ¾²°í BÇÔ¼ö¿¡¼­´Â reverseÇÑ»óÅ·Π¾²°í
cÇÔ¼ö¿¡¼­´Â ±×´ë·Î ¾²°í ÇØ¾ß Çϴµ¥ reverse()...

* ¹®¹ýÀ» º¸´Ï ES6 ·Î º¸ÀÔ´Ï´Ù.

var a = [1,2,3] ;

//¹è¿­ º¹»ç :  º¯°æ µÇÁö ¾ÊÀ» °ªÀ» º¹»çÇÑ´Ù.
var b= b.slice();

function funcA(b){
  //ÇÔ¼ö
//¹è¿­ b¸¦ »ç¿ëÇÏ´Â ·ÎÁ÷ ±¸¼º
}

function funcB(a){
  b.reverse()
}


À§¿Í °°ÀÌ ÇÏ¸é µÉ °Å °°³»¿ä...
* Àü¿ª º¯¼ö´Â »ç¿ë ÇÒ ¶§°¡ ÀÖ±â´Â ÇÏÁö¸¸ ³ªÁß¿¡ °¡¸é µ¶À¸·Î º¯ÁúµÇ´Â °æÇâÀÌ ÀÖ½À´Ï´Ù.
     
±èÁ¦¿¬ 2018-02
³× ´äº¯ °¨»çÇÕ´Ï´Ù... Àü Ãʺ¸¶ó b.slice()¸¦ ¸ô¶ó¼­.. a = b ÀÌ·±½ÄÀ¸·Î Çß´øÀÌ ÀÌ »ç´ÜÀÌ ³­°Å¿´½À´Ï´Ù.. ´äº¯ °¨»çµå¸³´Ï´Ù.


QnA
Á¦¸ñPage 1685/5682
2014-05   4951847   Á¤ÀºÁØ1
2015-12   1488453   ¹é¸Þ°¡
2018-02   3362   ±è°Ç¿ì
2018-02   3746   ±è°Ç¿ì
2018-02   3431   ĵÀ§µå
2018-02   3272   ¿©ÁÖ³ó¹Î76
2018-02   3387   ±è°Ç¿ì
2018-02   5051   ±¼´Ù¸®±³
2018-02   5075   ³ª¹«½£
2018-02   4140   ¼ÛÁÖȯ
2018-02   5092   ¾çâ±Ç
2018-02   3129   Çϼ¿È£ÇÁ
2018-02   3784   ±è°Ç¿ì
2018-02   4973   ĵÀ§µå
2018-02   3325   ±èÁ¦¿¬
2018-02   3754   Çϼ¿È£ÇÁ
2018-02   3330   ¿©ÁÖ³ó¹Î76
2018-02   3846   À嵿°Ç2014
2018-02   3352   ÀÌ°ÇÈñ
2018-02   3734   ÃÖÀç¿ø99
2018-02   4916   È£¾Æ¯
2018-02   6795   mt22