如何獲取陣列中最大3項的索引值?

2021-09-20 05:54:43 字數 1124 閱讀 3077

看到這個,首先就應該想到排序,我們可以先將陣列從大到小進行排序,然後再獲取排序後的陣列前3項即可。

所需函式:

排序:sort()

獲取前3項:filter()

當我們將陣列進行排序後,陣列的索引值會發生變化,我們便無法再獲取原始陣列的索引值了,所以我們得在排序前對陣列進行處理。

具體處理思路是,通過遍歷將原始陣列中的每一項與其索引**在一起,我們可以使用物件陣列的形式來實現**,這樣即使陣列被重新排序,我們最終也能夠找到原始陣列每項的索引值。

所需函式:

通過遍歷建立物件陣列:map()

重構:通過遍歷建立物件陣列,其中每一項包含索引值和數值 ——map()

排序:根據物件陣列每一項中的數值從大到小進行排序 ——sort()

篩選:通過篩選獲取排序後的前3項組成陣列 ——filter()

提取:通過遍歷獲取前3項陣列的原始索引值 ——map()

function fetchmaxindex(arr)

}).sort(function (a,b) )

.filter(function (item,i) )

.map(function (item) );

}console.log(fetchmaxindex([4,6,9,3,0,8,1])); // [2, 5, 1]

若對以上map()filter()不了解,請戳→簡述foreach()、map()、every()、some()和filter()的用法;

對於陣列的處理,無非就那麼幾個常用的函式方法,經常使用便能熟能生巧

獲取陣列中最大元素的值

需求 陣列獲取最值 分析 a 定義乙個陣列,並對陣列的元素進行靜態初始化 b 從陣列中任意找乙個元素作為參照物 一般取第乙個 預設是最大的。c 然後遍歷其他的元素,依次獲取和參照物進行比較,如果大就留下,如果小,就離開。d 最後參照物裡面儲存的就是最大值 public class printmax ...

c 獲取陣列中最大數的值

求陣列中最大的數的值 1 陣列的max函式 1 class program2 6int max getmax array 7 console.writeline 陣列中最大的值是 max 8console.readkey 9 10private static int getmax int array...

js獲取陣列中最大值,最小值

es6拓展運算子.1 math.max arr 最大值 2 math.min arr 最小值 遍歷方法 1 var arr 12,14,34,566,34,98,77 2var max arr 0 3for var i 0 i 7 8 console.log max 最大值9 10for var i...