큰풀이
function solution(arr) {
//배열의 길이가 1이면 -1 출력
if(arr.length === 1){
return [-1]
}
//제일 작은번호 찾기 Math.min , ...(비구조할당)하여 arr 검색
console.log(...arr)
const findMin = Math.min(...arr)
// 최소 값을 찾아 새로운 배열에 집어넣음
const index = arr.indexOf(findMin)
// 최소 숫자 짤라냄
console.log(arr.splice(index,1))
// 최종 배열 return
console.log(arr)
return arr
}
solution([4,3,2,1])
refactor
function solution(arr) {
// 처음부터 배열을 짜르고, 조건으로 제일작은 숫자를 배제함
arr.splice(arr.indexOf(Math.min(...arr)),1)
// 배열길이가 1이면 -1 반환
if(arr.length<1)return[-1];
return arr
}
solution([4,3,2,1])
filter로도 가능
function solution(arr) {
let answer = []
let filterLowNum=arr.filter((arr)=>Math.min(arr)).splice(0,3)
console.log(filterLowNum)
if(arr.length<1){
return [-1]
}
}
solution([4,3,2,1])
근대 splice가 고정이다 보니 만약에 [4,3,2,1,5] 등의 길이가 발생하면 5는 배열에 추가가 안됨.. 그래서 버그가 있는 코드라고 생각한다.