看到這個,首先就應該想到排序,我們可以先將陣列從大到小進行排序,然後再獲取排序後的陣列前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...