[JavaScript] Array 4
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>')