오늘은 배열에 대한 질문을 계속하겠습니다.
여기서 한 가지 어려운 점은 숫자 정렬에 음수가 있다는 것입니다. sort를 사용하여 정렬하면 오류가 보고됩니다.
그래서 몇 가지 생각과 테스트를 거친 후 내 대답은 다음과 같습니다.
function highAndLow(numbers){ var numArr=[],numArr1=[],numArr2=[]; numbers.split(' ').map(function(n){ if(n>=0){ numArr2.push(n); }else{ numArr1.push(n); } }); numArr1.sort((a,b)=>b-a); numArr2.sort((a,b)=>b-a); numArr = numArr2.concat(numArr1); numArr.splice(1,numArr.length-2); return numArr.join(' ') }
먼저 양수와 음수를 두 그룹으로 나눈 다음 각각 정렬하고 마지막으로 배열을 병합하고 첫 번째와 마지막 숫자를 가져옵니다. 배열, 즉 Can입니다.
방법이 좀 멍청하네요. 하하하, 나는 그 멍청한 새다.
마지막으로 다른 사람이 작성한 코드를 확인하세요.
가장 실용적인 코드는
function highAndLow(numbers){ numbers = numbers.split(' ').map(Number); return Math.max.apply(0, numbers) + ' ' + Math.min.apply(0, numbers); }
수학의 최대 및 최소 방법을 직접 사용하는 것입니다(왜 나는 그걸 생각하지 못했지? 돼지머리, 555...)
내 원래 아이디어에 가장 가까운 또 다른 것이 있습니다.
function highAndLow(numbers){ var arr = numbers.split(' ').sort(function(a, b) { return a - b }); return arr[arr.length -1] + ' ' + arr[0]; }
숫자를 배열로 변환하지 않아서 오류가 발생했기 때문에
function highAndLow(numbers){ numbers.split(' ').sort((a, b)=> a - b }); numbers.splice(1,numbers.length-2); return numbers.join(' '); }
로 쓴 것뿐입니다(낮음- 레벨 오류)
위 내용은 코드 전쟁 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!