array.splice(index, number of deleting element )
const alphabet = ['a','b','c','d']
alphabet.splice(2,1)
>
['c']
>alphabet
(3) ['a','b','d']
indexof(element) 메소드 사용
index를 const index = array.indexof(element) 로 지정해 주고
index의 번호를 array.splice(index, number of deleting element) 에 넣어서 돌리면 된다
const alphabet = ['a','b','c','d']
const index = alphabet.indexof('c')
>index
2
alphabet.splice(index,1)
>
'c'
>alaphbet
['a','b','d']
> alphabet.indexof('c')
-1 // 배열에 없는 값을 호출하면 -1을 리턴한다
filter () 메소드 사용
필터에 맞지 않는 조건을 출력한다
const fruits = ['apple', 'pear', 'banana']
fruits.filter((fruit)=> fruit !== 'pear')
> (2) ['apple','banana']
array.splice(index,0,element)
splice 메소드의 2번째 매개변수에 0을 입력하면 아무것도 제거하지 않고 3번째 매게면수에 추가하고 싶은 요소를 입력하게 된다 (fruits 배열의 2번째 인덱스 사이에 ‘kiwi’를 추가하라)
const fruits = ['apple', 'pear', 'banana']
fruits.splice(2,0,'kiwi')
> (4) ['apple', 'pear', 'kiwi', 'banana']
const orders = ['skirt','tshirt','pants','sweater']
for (const i in orders) {
console.log(`${i}번째 주문은 ${orders[i]}입니다`)}
>
0번째 주문은 skirt입니다
1번째 주문은 tshirt입니다
2번째 주문은 pants입니다
3번째 주문은 sweater입니다
// 요소의 인덱스 값을 과 요소를 알려준다
const orders = ['skirt','tshirt','pants','sweater']
for (const order of orders) {
console.log(`주문된 아이템은 ${order}입니다`)}
>
주문된 아이템은 skirt입니다
주문된 아이템은 tshirt입니다
주문된 아이템은 pants입니다
주문된 아이템은 sweater입니다
//배열에 있는 요소를 알려준다
for (let i=0; i< 반복회수 ; i++){ 문장}
const orders = ['skirt','tshirt','pants','sweater']
for (let i = 0; i < 2 ; i++){
console.log(`주문 번호는 ${i} 입니다`)}
>
주문 번호는 0 입니다
주문 번호는 1 입니다
// 0부터 시작해서 2 미만이면 반복한다, 1번째 인덱스값 까지만 출력한다
//1부터 N까지 더하기 (100번째 까지)
let output =0
for (let i=0; i <= 100; i++) {
output += i } // i가 1부터 시작해야 하니가 += 를 사용해서 i의 값을 1로 만들어 준다
console.log(`1~100까지 더하면 ${output}입니다`)
//배열 사용하기
const orders = ['skirt','tshirt','pants','sweater']
for (let i=0; i<orders.length; i++){
console.log(`${i}번째 주문은 ${orders[i]} 입니다`)
}
>
0번째 주문은 skirt입니다
1번째 주문은 tshirt입니다
2번째 주문은 pants입니다
3번째 주문은 sweater입니다
//배열을 반대로 출력하기
const orders = ['skirt','tshirt','pants','sweater']
for (let i=orders.length -1; i>=0; i--){
console.log(`${i}번째 주문은 ${orders[i]} 입니다`)
}
>
3번째 주문은 sweater 입니다
2번째 주문은 pants 입니다
1번째 주문은 tshirt 입니다
0번째 주문은 skirt 입니다
while 반복문은 불표현식이 true 면 무한 반복이 될 수 있기 때문에 break를 사용해서 무한반복을 벗어나야 한다
for (let i=0; true; i++){
alert(i + '번째 반복입니다')
const isContinue= confirm('계속 하시겠습니까?')
if (!isContinue){
break
}
}
alert ('프로그램 종료')
//confirm() 을 사용해서 "확인" 를 누르면 true, "취소" 누르면 false 리턴하기
// break 키워드로 false 면 반복문에서 빠져나오고 프로그램 종료 알럿을 보낸다
반복문 안의 반복작업을 멈추고 반복문의 처음으로 돌아가게 한다
//1~10까지 짝수의 합을 구할때
//변수 선언
let output=0
//반복문
for (let i=0; i<=10; i++){
//조건문
if (i%2 ===1){
//홀수면 반복을 중지하고 다음 반복을 수행
continue}
output += i
}
// 출력
alert(output)
>30
node 패키지를 다운 받아서 토이프로젝트 때도 썼는데, 왜 갑자기 js 파일이 node 로 명령했을 때 실행되지 않는 걸까?
```jsx
node:internal/modules/cjs/loader:959
throw err;
^
Error: Cannot find module '/Users/subinbaek/sparta/hello.js'
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:956:15)
at Function.Module._load (node:internal/modules/cjs/loader:804:27)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
```
구글링을 하다보니 path 설정에 문제가 있었다. 내가 열려는 hello.js 파일이 담긴 폴더를 먼저 vscode에서 열고 그담에 파일을 열어야 했다.
[Running] node "/Users/subinbaek/Desktop/bookprac/prac.js"
html 파일을 크롬에서 실행하려는데 에러코드가 났다. 왜 또… 이런 시련이;; 구글링해서 vs code 에 파일 실행을 위한 패키지들을 설치하고 세팅에서 chrome 으로 html을 열수 있도록 설정했다
챕터3 switch 조건문 사용하기 손코딩
<script>
const input = Number(prompt('enter a number',''))
switch (input %2 ) {
case 0:
alert ('even number')
break
case 1:
alert('odd number')
break
defualt:
alert('not a number')
break
}
//빈값을 입력하면 '' 빈 문자열이 입력된다, 빈문자열은 숫자변환 하면 0, 0%2 =0 그래서 짝수입니다가 출력됨
// 문자를 넣어도 default 알럿이 안뜬 이유는 default 에 오타가 있어서!
// input 값이 없을때 입력하세요 라른 알럿을 띄우려면
const input = prompt('enter a number','') // 인풋값이 숫자가 아닐때를 검증하기 때문에 Number를 지워준다
if (input ==='') {
alert('enter a number')
} else{
switch (Number(input) %2 ) {. // Number () 안에 input을 넣어서 input값은 숫자라고 알려준다
case 0:
alert ('even number')
break
case 1:
alert('odd number')
break
defualt:
alert('not a number')
break
}
}
</script>