velopert / learnjs

벨로퍼트와 함께하는 모던 자바스크립트
https://learnjs.vlpt.us/
85 stars 47 forks source link

09. 배열 내장함수 · GitBook #6

Open utterances-bot opened 5 years ago

utterances-bot commented 5 years ago

09. 배열 내장함수 · GitBook

https://learnjs.vlpt.us/basics/09-array-functions.html

stdcppgarf commented 5 years ago

덕분에 모던JS 잘 듣고 있습니다^^ chap01-26 강의 영상을 shift-unshift, pop-push 부분과 concat-join 부분으로 나누어 편집하면 나중에 찾아볼때 더욱 좋을 것 같습니다.

shoo7830 commented 5 years ago

reduce 예시 중 2번째 내용에서 array.reducenumbers.reduce 로 바뀌어야 할듯합니다.

JohnQue commented 5 years ago

질문이 생겨서 질문을 올려봅니다. console.log에 관한 질문인데요. push, splice, pop 등, 원래의 배열을 건드리는 내장함수들은 console.log문 밑에서 실행을 했음에도 불구하고, 마치 제일 위에 적은 것처럼 모든 console.log문에 동일한, 이미 내장함수가 실행된 결과가 출력이 되는데, 이 점에 대해서 언급을 해주지 않으셔가지고, 물어봅니다.

이는 여태까지 let a = 1; console.log(a); a = 2; console.log(a); -> 결과값 1 2 로 나왔던것과는 전혀 다른, 한마디로 절차지향적 느낌이 전혀 없네요.

이 부분에 대해서 설명좀 부탁드려도 될까요? 조금 어렵게 질문한건가 싶어 다시 적어볼게요 const a = [1,2,3,4]; console.log(a) a.push(5) console.log(a) 저는 당연히 [1,2,3,4] [1,2,3,4,5] 이렇게 찍힐 줄 알았는데 둘다 [1,2,3,4,5]로 찍혀서요. 분명 하나의 console.log는 push 밑에 있는데 왜 동일한 결과가 나올까요?

september-choe commented 4 years ago

님 댓글 보고 저도 궁금해져서 찾아봤어요.

https://www.zerocho.com/category/JavaScript/post/5b2b45cf1350f9001b662ba6 console.log는 참조를 로깅하기 때문에, 객체와 같이 내용물이 변할 수 있는 것들은 내용이 실시간으로 바뀝니다.

https://preamtree.tistory.com/115 JavaScript에서는 배열(Array)도 객체(Object)다

질문이 생겨서 질문을 올려봅니다. console.log에 관한 질문인데요. push, splice, pop 등, 원래의 배열을 건드리는 내장함수들은 console.log문 밑에서 실행을 했음에도 불구하고, 마치 제일 위에 적은 것처럼 모든 console.log문에 동일한, 이미 내장함수가 실행된 결과가 출력이 되는데, 이 점에 대해서 언급을 해주지 않으셔가지고, 물어봅니다.

이는 여태까지 let a = 1; console.log(a); a = 2; console.log(a); -> 결과값 1 2 로 나왔던것과는 전혀 다른, 한마디로 절차지향적 느낌이 전혀 없네요.

이 부분에 대해서 설명좀 부탁드려도 될까요? 조금 어렵게 질문한건가 싶어 다시 적어볼게요 const a = [1,2,3,4]; console.log(a) a.push(5) console.log(a) 저는 당연히 [1,2,3,4] [1,2,3,4,5] 이렇게 찍힐 줄 알았는데 둘다 [1,2,3,4,5]로 찍혀서요. 분명 하나의 console.log는 push 밑에 있는데 왜 동일한 결과가 나올까요?

jnssanaee commented 4 years ago

오타가 있습니다.

건들이지 => 건드리지

pji0219 commented 3 years ago

강사님 안녕하세요~ 강의 잘 듣고 있습니다:) 감사합니다:)

궁금한 것이 있는데 forEach 내장함수의 파라미터로는 화살표 함수에 {}를 써주었는데 다른 내장함수의 파라미터에 들어가는 화살표 함수는 {}가 생략이 되어 있는데 그 이유가 무엇인지 궁금합니다~ 그리고 제가 호기심에 forEach문을 제외한 다른 내장함수에 {}를 쓴 화살표 함수를 파라미터로 넣어봤는데 엉뚱한 결과가 나오더라구요 원인이 무엇 일까요?

pji0219 commented 3 years ago

근데 여러분 여기서 어떻게 로그아웃 하나요?ㅠㅠ 로그아웃 버튼이 없네요ㅠㅠ

linkb commented 3 years ago

심심해서 적어봅니다.

// 10보다 큰 숫자개수

// forEach function countBiggerThenTen(numbers){ let cnt = 0 numbers.forEach(n => { cnt += n>10 ? 1 : 0 }) return cnt }

const count = countBiggerThenTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]) console.log(count)

// 출력 : 5

// for function countBiggerThenTen(numbers){ let cnt = 0 for(let i=0;i<numbers.length;i++) { cnt += numbers[i]>10 ? 1 : 0 } return cnt }

const count = countBiggerThenTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]) console.log(count) // 출력 : 5

// map function countBiggerThenTen(numbers){ let cnt = 0; numbers.map((n) => { cnt += n > 10 ? 1 : 0 }) return cnt }

const count = countBiggerThenTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]) console.log(count) // 출력 : 5

// filter function countBiggerThenTen(numbers){ let cnt = 0; numbers.filter((n) => { cnt += n > 10 ? 1 : 0 }) return cnt }

const count = countBiggerThenTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]) console.log(count) // 출력 : 5

// reduce function countBiggerThenTen(numbers){ let cnt = numbers.reduce((res, cval, idx, arr) => { return res += cval > 10 ? 1 : 0 }, 0) return cnt }

const count = countBiggerThenTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]) console.log(count) // 출력 : 5

oshosh commented 3 years ago

function countBiggerThanTen(numbers) { let reduce_arr = numbers.reduce((prep, current) => { if (current > 10) prep.push(current); return prep; }, []); return reduce_arr.length; }

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]); console.log(count); // 5

export default countBiggerThanTen;

kdj9878 commented 2 years ago

강의 잘 듣고 있습니다.

function countBiggerThanTen(numbers) { let c = 0; numbers.filter(v => v > 10).map((value, index) => c++); return c; }

steven-yn commented 2 years ago
// sol 1
const countBiggerThanTen = (numbers) => {
  const largerThen10 = numbers.filter((nums) => nums > 10);
  return largerThen10.length;
};

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]);
console.log(count); // 5

// sol 2

const countBiggerThanTen = (numbers) => {
  const index = numbers.indexOf(10);
  const largerThen10 = numbers.splice(index, numbers.length - index);
  largerThen10.shift();
  return largerThen10.length;
};

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]);
console.log(count); // 5
yongjun613 commented 2 years ago

function countBiggerThanTen(numbers) { let num = numbers.reduce((accumulate, current) => { if(current > 10) return ++accumulate; else return accumulate; }, 0);

return num; }

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]); console.log(count); // 5

export default countBiggerThanTen;

Jibros commented 2 years ago

22.03.22

zuzubibi commented 2 years ago

22.03.24

JunghooX commented 2 years ago

22.08.17

JunghooX commented 2 years ago

function countBiggerThanTen(numbers) { / 구현해보세요 / let count = 0; numbers.forEach(x => { if(x > 10){ count++ } }); return count }

sgh055 commented 2 years ago

function countBiggerThanTen(numbers) { / 구현해보세요 / return numbers.reduce((accumulator, number) => { if(number > 10) { return accumulator + 1; } return accumulator; },0); }

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]); console.log(count); // 5

export default countBiggerThanTen;

kimdaeyeobbb commented 1 year ago

제가 구현한 퀴즈 정답입니다

function countBiggerThanTen(numbers) {
    let num = numbers.reduce((acc, cur) => (cur > 10 ? acc += 1 : acc), 0)
    return num
}

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]);
console.log(count); // 5
DANU011 commented 1 year ago

230313

WooHyungil commented 1 year ago

function countBiggerThanTen(numbers) { const loger = numbers.filter((n) => n > 10);

return loger.length; }

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]);

console.log(count); // 5

이게 맞나...? 싶은데 혼자 열심히 생각해서 해보았습니다!!!!!

Habyeok commented 10 months ago

function countBiggerThanTen(numbers) { const array = [] for (let i = 0; i < numbers.length; i++) { if (numbers[i] > 10) { array.push(numbers[i]); } } return array.length }

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]); console.log(count); // 5

export default countBiggerThanTen;

구현하는 방식이 다양하네요 참고해서 공부하겠습니다!

chosign commented 9 months ago

function countBiggerThanTen(numbers) { // Check if numbers is undefined or null if (!numbers || typeof numbers !== 'object') { return 0; } return Object.values(numbers).filter(number => number > 10).length; } const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]); console.log(count);

hdgpaul commented 9 months ago

231209

hdgpaul commented 9 months ago

function countBiggerThanTen(numbers) { let filtered = numbers.filter((filt) => filt > 10); let result = filtered.length; return result; }

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]); console.log(count); // 5

export default countBiggerThanTen;

dks044 commented 9 months ago

function countBiggerThanTen(numbers) { let count = 0; numbers.forEach((num) => { if (num > 10) count++; }); return count; }

const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]); console.log(count); // 5

export default countBiggerThanTen;

daeunkim99 commented 2 months ago

240621