nacastle 2020. 6. 18. 16:25

var nums = [10, 20, 30, 40, 50]

 

 

- reduce 함수 ?

배열 내 인자를 왼쪽에서 2개씩 더해줘서 배열 내 모든 값의 합을 구하는 함수

 

let sum = nums.reduce(function(before, element, index) {
return before + element
})

 

cf) reduceRight 함수는 오른쪽에서부터 2개씩 더해준다

 

- forEach 함수 ?

 

nums.forEach(function(element, index, nums) {
document.write(`${ index }번째 정수 : ${ element }<br>`)
// document.write(nums + '<br>')
})

 

- map 함수

배열을 한바퀴 도는...맵핑의 의미를 가진

 

var copyNums = nums.map(function(element) {
return element + 100
})

 

- every 함수

배열내 인자들이 모두 어떤 조건을 만족하면 true, 하나라도 만족 안하면 false

 

let bool = nums.every(function(element, index, nums) {
return element % 10 == 0   // return값에 조건을 넣어줌
})

 

- some 함수

이와 반대로 하나라도 만족하면 true, 아니면 false

 

bool = nums.some(function(element, index, nums) {
return element % 10 != 0
})

document.write('some() 결과 : ' + bool + '<br>')

 

 

 

 

 

 

 

- sort 함수

숫자에 sort 함수 쓰면 아스키코드 기준으로 정렬된다

그래서 callback 함수로 재정의 해줘야

 

ex.

var nums = [12, 5, 357, 85, 56, 8, 21]
document.write(nums + '<hr>')

nums.sort()
document.write(nums + '<hr>')

nums.sort(function(left, right) { // 오름차순 정렬
return left - right;
})
document.write(nums + '<hr>')

nums.sort(function(left, right) { // 내림차순 정렬
return right - left
})
document.write(nums + '<hr>')

반응형