4 回答

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
試試這個(gè)
let intArray =[1,2,3,4,5,6,7,8,9,10]; console.log(intArray.sort((a, b) => b - a)[1]);

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
嘗試這個(gè):
let arr = [1,2,3,4,5,6,7,8,9,10];
function getSecondLargest(nums){
let sort = arr.sort((a, b) => a - b);
return sort[sort.length - 2]
}
console.log(getSecondLargest(arr));

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
它按字母順序?qū)υ剡M(jìn)行排序。嘗試在排序中傳遞函數(shù):
let arr1 = [1,2,3,2,4];
let arr2 = [1,2,3,4,5,6,7,8,9,10];
console.log( getSecondLargest(arr1) );
console.log( getSecondLargest(arr2) );
function getSecondLargest(arr){
let uniqueArr = [ ...new Set(arr) ];
uniqueArr.sort((a,b)=> a-b);
const z= uniqueArr.length;
return arr[z-2];
}
我建議您處理邊緣情況,例如長度為 0 或 1 的數(shù)組...

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
它返回 8 因?yàn)閟ort()默認(rèn)情況下 javascript 中的方法按字母順序?qū)?shù)組進(jìn)行排序,因此將sort()方法應(yīng)用于您將返回如下內(nèi)容:-
[1,10,2,3,4,5,6,7,8,9]
因此,為了按數(shù)字對(duì)它們進(jìn)行排序,您必須添加這個(gè)新方法,該方法通過使用 ES6 中的箭頭函數(shù)進(jìn)一步簡化。以下將是您更新的代碼:-
function getSecondLargest(arr){
let uniqueArr = [ ...new Set(arr) ];
uniqueArray.sort((a,b) => a-b);
const z= uniqueArr.length;
return arr[z-2];
}
添加回答
舉報(bào)