JavaScript 프로토타입 <배열>
⭐원형 메모리를 공유하는 모양
- 메모리를 아껴서 쓸 수 있다는 장점이 있다
- B가 A를 바꿔버리면 다른 B가 보는 A의 데이터도 변해버린다
- 객체 리터럴은 프로토 타입이 없다
Array.prototype.push()
- 배열 자체를 반환을 못해준다 카운트 값만 반환
push
const arr = [1,2,3]
console.log(arr.push(4))
console.log(arr.push([5,6]))
console.log("--------------")
console.log(arr)
결과
Array.prototype.concat()
- 기존 배열을 변경하지 않습니다.
- 추가된 새로운 배열을 반환합니다.
concat 은 새로 만드는 방식이라 별도의 변수를 잡아줘야 한다 <깊은 복사>
console.log("cart....")
const arr = [1,2,3]
const result = arr.concat(4)
console.log(arr)
console.log(result)
결과
Spread Opertor (스프레드 연산자)
const arr = [1,2,3]
const arr2=[...arr,4,5,6]
console.log(arr2)
결과
Splice
메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다
const arr = [1,2,3,4,5]
const result = arr.splice(1,1)
console.log(result)
결과
arr을 확인해 보았을 때
const arr = [1,2,3,4,5]
const result = arr.splice(1,1)
console.log(arr)
결과
인덱스 번호 찾아서 splice 해주기
const arr =[
{num:1, name:'aaa'},
{num:2, name:'bbb'},
{num:3, name:'ccc'},
]
const idx = arr.findIndex(ele => ele.num === 2)
if(idx >= 0){
arr.splice(idx,1)
}
console.log(arr)
결과
'JavaScript' 카테고리의 다른 글
⭐JavaScript Closure⭐ (0) | 2022.05.07 |
---|---|
⭐⭐호이스팅⭐⭐ (0) | 2022.04.27 |
JavaScript 이벤트 (0) | 2022.04.25 |
JavaScript preventDefault() , target (0) | 2022.04.24 |
⭐ JavaScript 버블링 , 캡쳐링 (0) | 2022.04.24 |