티스토리 뷰

1. Array

 - array안에는 여러가지 type을 가질 수 있다. 하지만 그렇게 사용하는것을 performance 문제때문에 추천하지는 않는다.

 - array안에는 function을 가질 수 도 있다.

 - array는 object이다. (기술적으로 property가 index인 값)

 

example)

// 1. function을 배열에 넣어 index로 바로호출
const your_function = function(){ console.log("I am your function") }

const group = [0, "lizard", false, your_function()]

group[3]

// 2. function의 이름을 배열에 넣어 index로 function을 호출한다음 실행여부 결정
const your_function = function(){ console.log("I am your function") }

const group = [0, "lizard", false, your_function]

group[3]()

2. Array method

1) toString() 

: array를 comma로 구분하여 array value의 string으로 변환한다. 

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.toString(); // Banana,Orange,Apple,Mango

2) join()

 : toString()과 비슷하게 작동하지만, seperator를 명시할 수 있다.

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.join(" * "); //Banana * Orange * Apple * Mango

3) pop()

: array의 가장 마지막 element를 제거해준다. 제거되는 값을 return값으로 받을 수 도 있다.

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();  // Removes "Mango" from fruits
// fruits 출력하면 ["Banana", "Orange", "Apple"]
let x = fruits.pop();  // x = "Mango"
// fruits 출력하면 ["Banana", "Orange"]

4) push()

 : array의 가장 마지막에 새로운 element 추가

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");   // Adds "Kiwi" to fruits
let x = fruits.push("Kiwi");   //  x = 6

return 값은 array의 길이를 반환한다.

 

5) shift()

: array의 가장 처음 element를 제거하고 index한칸씩 앞당김. (pop()과 반대)

제거되는 값을 return 받을 수 있다.

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift();   // Removes "Banana" from fruits
let x = fruits.shift();    // x = "Orange"

6) unshift()

 : array의 가장 처음에 새로운 element 추가 (push()의 반대)

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon");    // Adds "Lemon" to fruits
let x = fruits.unshift("Lemon");    // x = 6

7) splice()

: 새로운 item을 array에 넣을 수 있다.

splice(추가시킬 index자리, 제거할 element개수, 추가할 element들)

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 2, "Lemon", "Kiwi");
// fruits : ["Banana", "Orange", "Lemon", "Kiwi"];

 splice()의 두번째 argument를 통해서 element 제거할 수도 있다.

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(0, 1);   // Removes the first element
// fruits = ["Orange", "Apple", "Mango"];

8) concat()

 : 존재하는 array를 합칠 수 있다. (concat()는 존재하는 array를 변경하는것이 아닌 항상 새로운 array를 반환한다)

const myGirls = ["Cecilie", "Lone"];
const myBoys = ["Emil", "Tobias", "Linus"];

// Concatenate (join) myGirls and myBoys
const myChildren = myGirls.concat(myBoys);

concat()는 argument로 여러 array를 받을 수 있다.

const arr1 = ["Cecilie", "Lone"];
const arr2 = ["Emil", "Tobias", "Linus"];
const arr3 = ["Robin", "Morgan"];
const myChildren = arr1.concat(arr2, arr3);

9) slice() 

 : array일부를 잘라 새로운 array를 생성.

slice()안의 argument를 하나만 넣으면 입력한 argument의 값부터 끝까지의 array을 반환.

const fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
const citrus = fruits.slice(3);
// citrus = ["Apple", "Mango"];

argument를 2번 넣으면 각 argument에 해당하는 start index와 end index의 array를 반환한다.

const fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
const citrus = fruits.slice(1, 3);
// citrus : ['Orange', 'Lemon']

3. Object

 - ojbect의 property에 접근 : object.property로 .를 이용해 접근.

 - 새로운 property 추가 : object.추가할property = "value";

 - object안에 array를 넣을 수도 있다.

 - object안에 property로 가지는 function을 method라고 한다.

 - null과 empty object의 차이점 : {}인 객체는 obj.name = 'junho'; 같이 property 추가 가능하지만 null인 객체는 property 추가 불가(에러 발생)

 

출처 :

https://stackoverflow.com/questions/3592468/can-i-store-javascript-functions-in-arrays

 

Can I store JavaScript functions in arrays?

How can I store functions in an array with named properties, so I can call like FunctionArray["DoThis"] or even FunctionArray[integer] ? Note: I do not wish to use eval.

stackoverflow.com

https://www.w3schools.com/js/js_array_methods.asp

 

JavaScript Array Methods

JavaScript Array Methods Converting Arrays to Strings The JavaScript method toString() converts an array to a string of (comma separated) array values. Example const fruits = ["Banana", "Orange", "Apple", "Mango"]; document.getElementById("demo").innerHTML

www.w3schools.com

zero to mastery : javascript advanced course

'Programming > Javascript' 카테고리의 다른 글

Javascript forEach vs for Loops 차이  (0) 2021.10.28
Javascript Fundamentals (1)  (0) 2021.09.19
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday