°ñ¶§¸®´Â ÀÚ¹Ù½ºÅ©¸³Æ® - ArrayÀÇ Áø½Ç 2 |
|
|
 |
10³â Àü |
°ñ¶§¸®´Â ÀÚ¹Ù½ºÅ©¸³Æ®°¡ 10ź±îÁö ³ª¿Ô½À´Ï´Ù. ±×³É ³»À̸§ ´©¸£°í ¾ÆÀ̵ð·Î °Ë»öÇÏ´Ùº¸¸é ³ª¿É´Ï´Ù.
ÇÑÂü ¹è¿ì¸é¼ ¹ß°ßÇÏ¸é¼ °ñ¶§·È´ø °æÇè´ã°ú »ç½ÇÀ» Á¦°¡ °ñ¶§¸®´Â ÀÚ¹Ù½ºÅ©¸³Æ®·Î ±â·ÏÇߴµ¥¿ä. ±×·¸´Ù°í Çؼ 100% Áø½ÇÀ̶ó°í Çϱ⵵ ¹¹ÇÕ´Ï´Ù. Ã¥µµ °¡²û ¿ÀŸ³¯ ¼ö ÀÖ°í, Ʋ¸° ºÎºÐÀÌ ÀÖÀ» ¼ö Àְŵç¿ä.
±×·¡¼ ¿À´ÃÀº 9.3 źÀ» ÁغñÇߴµ¥. ¿Ö 9.3źÀ̳ĸé, 9ź°ú 3źÀÇ ¿À·ù¸¦ ¼öÁ¤ÇÏ¸é¼ °³Á¤Çϴ źÀÌ¶ó º¸¸é µÇ°Ú½À´Ï´Ù. °ñ¶§¸®´Â ÀÚ¹Ù½ºÅ©¸³Æ® 9źÀº ¸µÅ© #1¿¡, 3źÀº ¸µÅ© #2¿¡ ÀÖ½À´Ï´Ù.
1. new Array(3) == [,,,]
¹è¿ ÃʱâÀÚÀÔ´Ï´Ù. µÑ ´Ù ¶È°°Àº °á°ú°¡ ³ª¿ÀÁÒ. ÀÌ¹Ì ¹ø¿ªÇؼ ÀÚ¹Ù½ºÅ©¸³Æ® °¡À̵å·Î ÆÁÅØ¿¡µµ ¿Ã¶ó¿À°í Çߴµ¥ ÀÌ°Ô Á» ª°Ô ¤°í ³Ñ¾î°¡¼ È®½ÇÈ÷ ¾Ë¾ÆµÑ ÇÊ¿ä°¡ Àֱ⠶§¹®¿¡ ÀÌ°É ¾ð±ÞÇϴ°̴ϴÙ.
ÀÚ, Àú·¸°Ô Ãʱâȸ¦ ³¯¸®¸é ¾î¶² °á°ú°¡ ³ª¿À³Ä,
[undefined, undefined, undefined]
ÀÌ·¸°Ô ³ª¿Â´Ù°í »ý°¢ÇϽô ºÐµé ¾ø±â¸¦ ¹Ù¶ø´Ï´Ù. ¿ÏÀü Ʋ¸³´Ï´Ù. ºñ¾î ÀÖ´Â ¹è¿ÀÌ ³ª¿É´Ï´Ù. ÇÏÁö¸¸ ¹®Á¦°¡ ¹¹³Ä? À§Ã³·³ Ãʱâȸ¦ ÇÑ ¹è¿¿¡¼ length ¼Ó¼º Âï¾îº¸¸é 3ÀÌ ³ª¿É´Ï´Ù. ¹¹¿©..
Áï, Å©±â¸¸ 3ÀÎ »¹ ¹è¿ÀÌ ¸¸µé¾îÁ³´Ù°í º¸½Ã¸é µË´Ï´Ù. ±×·¡¼ ´ÙÀ½°ú °°Àº ½ÄÀÌ ¼º¸³µË´Ï´Ù.
(0 in arr) === false
Á÷Á¢ jsfiddle ·Î ÀÌ µÑÀ» ºñ±³ÇØ º¸¼¼¿ä.
[,,,] != [undefined, undefined, undefined]
´Ù¸¨´Ï´Ù. ¾î´À ¹è¿À̶ó Çصµ °°½À´Ï´Ù. ÀÏÁ¾ÀÇ "ºÒ´É" ÀÚ¸®ÀÌÁÒ. Áß°£¿¡ ºñ¾îµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù.
['a', 'b',, 'c']
¿©±â¸¦ º¸½Ã¸é b ¿Í c »çÀÌ¿¡ ºÒ´ÉÀ» Áý¾î³Ö¾ú½À´Ï´Ù. ÀÌ·¸°Ô µÇ¸é ¾î¶»°Ô µÇ³Ä? ÀÏ´Ü Å©±â´Â 4ÀÔ´Ï´Ù. »öÀιøÈ£°¡ 0ºÎÅÍ 3±îÁö ÀÖ°ÚÁÒ? ÇÏÁö¸¸ 2 in arr Çϸé false °¡ ³ª¿É´Ï´Ù. ¾Æ¿¹ °ªÀ» ¾ÈÁý¾î³Ö¾ú´Ù´Â °ÍÀÌÁÒ.
±×·³ ÀÌ·±°É ¾îµû°¡ ½á¸Ô³Ä? ÀÏ´Ü ÀÚ½º ¹è¿Àº Á¤Àû ¹è¿À̶õ °³³äÀÌ ¾ø½À´Ï´Ù. ¹«Á¶°Ç ±âº»Àº µ¿Àû °´Ã¼ÀÔ´Ï´Ù. ´ë½Å Á¤Àû ¹è¿Ã³·³ Èä³»³¾ ¼ö´Â ÀÖÁÒ. ¿¹¸¦µé¸é, 5°³ ÀÚ¸®¸¸ °¡Áú ¹è¿ÀÌ°í, °Å±â¿¡ °ªÀ» ºÎ¿©ÇÏ°í ½Í´Ù? ÀÌ·¸°Ô ÇÏ½Ã¸é µË´Ï´Ù.
var arr = [,,,,,];
for(var i = 0, len = arr.length; i < len; i++){
arr[i] = i;
}
ÀÌ·± ½ÄÀÌÁÒ. °íÁ¤ÀûÀÎ °Íó·³ ¹è¿ ¸¸µé¾î ºÎ¿©Çϱâ. Âü ½±ÁÒ?
2. NAME in OBJECT ½Ä
±×·¸´Ù¸é ÀÌ ½Ä¿¡ ´ëÇؼ ¹Ù¸£°Ô ¾Ë°í ÀÖ´Â ºÐÀ» Çѹø üũÇØ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ¸ÕÀú ¹è¿ Çϳª ¸¸µé¾îº¸ÁÒ.
var arr = [,,, undefined]; //3°³ÀÇ ÀÚ¸®°¡ ¾ø°í, 4¹ø°¿¡ undefined °ªÀ» °¡Áø ¹è¿À» ¸¸µé¾ú½À´Ï´Ù.
±×·¸´Ù¸é ¹®Á¦,
(3 in array) && (arr[3] == undefined) ´Â?
true ÀÔ´Ï´Ù. 3¹ø »öÀο¡´Â undefined ¶õ °ªÀÌ ÁÖ¾îÁ³°í, ¸Â°Åµç¿ä. ±×·¸´Ù¸é,
(0 in array) && (arr[0] == undefined) ´Â?
false ÀÔ´Ï´Ù. ³× ¸Â¾Æ¿ä. ¾Æ¿¹ ¾ø±â ¶§¹®¿¡ undefined¶ó°í ³ª¿À´Â °Ç ¸Â½À´Ï´Ù. ÇÏÁö¸¸ 0¹ø° ÀÚ¸®´Â ¹èÁ¤¹ÞÁö ¾Ê¾Ò½À´Ï´Ù. ±×·¯´Ï ¾Æ¿¹ ¾øÁÒ. ±×·¡¼ 0 in array ´Â false °¡ ³ª¿É´Ï´Ù. µû¶ó¼ ÀÚ¸®°¡ ÀÖ³Ä ¾ø³Ä´Â ¹Ù·Î ¼Ó¼º¸í in °´Ã¼ ÀÌ·¸°Ô µûÁý´Ï´Ù. JSON Á¶°Ç ó¸®ÇÒ¶§,
'name' in obj ¿Í obj[name] == 'value' Á¶°ÇÀº ´Ù¸¨´Ï´Ù.
ÀÌ°ÍÀº ºÎ¿ï ¼Ó¼º¿¡¼ ±× ¼ºÁúÀÌ µå·¯³ª´Âµ¥¿ä.
üũ¹Ú½º ÅÂ±× Çϳª ÀÖ½À´Ï´Ù. ÀÌ°Ç Á¦°Å Àü¿¡ ÆÁ¿Ã·È´ø °Ì´Ï´Ù.
<input type="checkbox"/>
¿©±â¿¡ checked ¼Ó¼º¸¸ ³Ö¾îµµ üũµÇ´Â°Å ¾Æ½ÃÁÒ? ¿©±â¿¡ ¹«½¼ °ªÀ» ³Ö¾îµµ üũ¸¦ ÇÕ´Ï´Ù. ÇÏÁö¸¸ checked ¼Ó¼ºÀÌ ¾ø´Ù¸é üũ°¡ ¾ÈµÇÁÒ. ÀÌ°Å¿Í °°Àº ¿ø¸®ÀÔ´Ï´Ù. ¼Ó¼ºÀÌ ÀÖ³Ä ¾ø³Ä, ±×¸®°í °ªÀ» ¹»·Î ºÎ¿©¹Þ¾Ò³Ä üũÇÏ´Â°Ç ±²ÀåÈ÷ Áß¿äÇÏÁÒ.
±×·¡¼ ¼Ó¼ºÀÌ Á¸ÀçÇÏ´À³Ä ¾ÈÇÏ´À³Ä¸¦ ¼Ó¼º¸í in °´Ã¼ ÀÌ·¸°Ô µûÁý´Ï´Ù. °ªÀÌ ¾ø´Ù´Â°Å¿Í ÀÚ¸®°¡ ¾ø´Ù´Â Â÷ÀÌ´Â ºÐ¸íÈ÷ Àִٴ°Š¾Ë¾ÆµÎ½Ã±æ.
3. Array.prototype.length ÀÇ Áø½Ç 2
ÀÚ, ´Ù½Ã ¹è¿·Î ³Ñ¾î¿ÀÁÒ. length ¼Ó¼ºÀÌ ÀÐ°í ¾µ ¼ö°¡ ÀÖ´Ù°í Çߴµ¥¿ä. ±×·³ ¹«½¼ ¿ªÇÒÀ» Çϴ°ǰ¡¿ä?
±×³É ÀÚ¸´¼ö¸¦ Ç¥ÇöÇϴ°Š±× ÀÌ»ó ÀÌÇϵµ ¾Æ´Õ´Ï´Ù. ½Ä´ç ¿¹¸¦ µé¾îº¸ÁÒ., 100¸íÀ» ¼ö¿ëÇÒ ¼ö ÀÖ´Â ÀÚ¸®ÀÔ´Ï´Ù. ºó ÀÇÀÚ°¡ 90°³ ÀÖ°í, 10°³´Â ÀÇÀÚ°¡ ¾ø½À´Ï´Ù. ÀÌ·¸°Ô µûÁö½Ã¸é µË´Ï´Ù.
µû¶ó¼ ÀÌ·± ½ÄÀÌ ¼º¸³µË´Ï´Ù.
var arr = [];
arr.length = 3;
arr == [,,,] //true
±×³É ÀÇÀÚ¾ø´Â 3ÀÚ¸®°¡ ¸¸µé¾îÁ³´Ù°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. Á»´õ ±¸Ã¼ÀûÀ¸·Î ¿¹¸¦ µé¾î º¼±î¿ä?
µû¶ó¼ ['°©', 'À»',,, 'º´', undefined, 'Á¤'] ÀÌ·¸°Ô ¹è¿À» ¸¸µç´Ù¸é, °© ÀÚ¸®¿Í À» ÀÚ¸®, ±×¿·¿¡ 2ÀÚ¸®´Â ÀÇÀÚ°¡ ¾ø°í, º´, ºó ÀÚ¸®, Á¤ ÀÚ¸® ÀÌ·¸°Ô ¸¸µé¾îÁö´Â°Å¿Í °°´Ù°í º¸½Ã¸é µË´Ï´Ù. ÀÌÇØ ½±ÁÒ?
³³µæ ¤·¤·?
¾î·µç, length ´Â ÀÚ¸´¼ö¸¦ Á¤ÇÏ´Â °Å¶ó º¸½Ã¸é µË´Ï´Ù. ±âº»ÀûÀ¸·Î ´Ã¸®¸é ´Ã¾î³ ¸¸Å ÀÇÀÚ ³õÀ» ÀÚ¸®°¡ »ý±ä´Ù »ý°¢ÇÏ½Ã¸é µÇ°í, ÁÙÀ̸é ÀÇÀÚ ³õÀ» ÀÚ¸®°¡ »ç¶óÁø´Ù º¸½Ã¸é µË´Ï´Ù.
4. ¹è¿ »èÁ¦Çϱâ
¹è¿À» »èÁ¦ÇÏ´Â ¹æ¹ýÀÌ 2°¡Áö°¡ Àִµ¥¿ä.
a[3] = undefined;
ÀÌ°Ç »èÁ¦°¡ ¾Æ´Õ´Ï´Ù. ±×³É undefined °ªÀ» ºÎ¿©ÇÒ »ÓÀÔ´Ï´Ù.
Array.prototype.splice ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â ¹æ¹ý, ±×¸®°í delete ±¸¹®À» ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.
ÀÌ µÑÀÇ Â÷ÀÌÁ¡Àº ¸íÈ®ÇÕ´Ï´Ù.
¸ÕÀú delete ¸¦ º¸ÁÒ. »èÁ¦´Â °¡´ÉÇÕ´Ï´Ù.
delete a[2]; //3¹ø° ÀÚ¸®¸¦ »èÁ¦ÇÕ´Ï´Ù. ½Ä´çÀ¸·Î Ä¡ÀÚ¸é ÀÇÀÚ Ä¡¿ì´Â°ÅÁÒ. °á°ú´Â true °¡ ³ª¿É´Ï´Ù.
ÇÏÁö¸¸ length ¼Ó¼º¿¡ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê½À´Ï´Ù. À̳༮Àº °ª¸¸ »èÁ¦ÇÒ »Ó, ¹è¿ Å©±â¿¡ ¿µÇâÀ» ¹ÞÁö ¾Ê°Åµç¿ä. Áï, °ª¸¸ ³¯¸®´Â °ÍÀ̶ó°í¸¸ ¾Æ½Ã¸é µË´Ï´Ù.
splice(¾îµðºÎÅÍ, ¸î°³Áö¿ì°í, ¹»Ã¤¿ì³Ä...)
ÀÌ·± ¸Þ¼ÒµåÀÔ´Ï´Ù. splice(1,2) ½ÇÇàÇÏ¸é µÎ¹ø°ÀÚ¸®ºÎÅÍ 2°³¸¦ »èÁ¦ÇÑ´Ù°í º¸½Ã¸é µË´Ï´Ù. ±×¸®°í ±× µÚ¿¡ °ªÀ» ³ÖÀ¸¸é, ±× ºóÀÚ¸®¸¦ °ªÀ¸·Î ä¿öÁö´Â°ÅÁÒ. À̳༮Àº ±âÁ¸ ¹è¿À» º¯°æÇÕ´Ï´Ù. À̰͸¸ ÁÖÀÇÇÏ½Ã¸é µÇ°í, ±×¸®°í ¹ÝȯÀº Áö¿öÁø °ªµéÀÇ ¹è¿ÀÌ ¹ÝȯµË´Ï´Ù. shift() ³ª pop() °ú °°ÀÌ, Áö¿öÁö°í, º¯°æÇÏ°í, ±× °ªÀ» ¹ÝȯÇÏ´Â ¸Þ¼Òµå µÇ°Ú½À´Ï´Ù.
±×·¡¼ ½ÇÁúÀûÀÎ ¹è¿ »èÁ¦ ¿ªÇÒÀ» ÇÏ´Â ¸Þ¼Òµå¶ó º¸½Ã¸é µË´Ï´Ù.
½±ÁÒ? ¾î·Æ³ª¿ä? °ñ¶§¸³´Ï±î? ÀÚ¹Ù½ºÅ©¸³Æ®¿¡ ¸¹ÀÌ ¾²´Â ÆÁÀÔ´Ï´Ù. ¾î·Á¿öµµ ¾Æ¼Å¾ß ÇÕ´Ï´Ù. ±âº»À̰ŵç¿ä.
±×·³ °ñ¶§¸®´Â ÀÚ¹Ù½ºÅ©¸³Æ®. °ñ¶§¸®´Â ºÐÀ» ã¾Æ °ñ¶§·Á µå¸®µµ·Ï ÇÏ°Ú½À´Ï´Ù. ³¡~
|
|
̵̧ : 447 |
̵̧
¸ñ·Ï
|
|