實作步驟:1、利用filter()過濾數組,傳回全部奇數元素,語法「function f(v){if(v%2!=0){return true;}else{return false; }}var b=arr.filter(f);”,會取得一個包含全部奇數元素的陣列;2、利用Math.max()和擴充運算子“...”取得奇數數組中的最大值,語法「Math.max(...b)」。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
在javascript中,可以利用filter()和Math.max()方法來求數組中的最大奇數。
實作步驟:
步驟1:利用filter()方法取得全部奇數
filter()方法可以過濾陣列元素,傳回滿足指定條件的元素。只需要使用
而想要取得全部奇數,只需要過濾數組中的全部偶數,只回傳技術即可。
實例:傳回全部奇數
var a = [2,3,4,5,6,7,8]; function f (value) { if (value % 2 != 0) { return true; }else{ return false; } } var b = a.filter(f); console.log(b);
輸出結果:
可以看到,會傳回一個包含全部奇數元素的陣列
步驟2:利用Math.max()方法與擴充運算子...
取得奇數數組中的最大值
Math.max()方法可以接受一系列數字,並傳回其中最大的數。
註:Math.max()方法不能直接接受一個陣列作為參數;而如果想要利用Math.max()方法傳回陣列的最大值,則需要配合擴充運算子...
一起使用。
擴充運算子...
可以將陣列元素展開,一個個取出傳給Math.max()方法做參數。
範例:
var a = [2,3,4,5,6,7,8]; function f (value) { if (value % 2 != 0) { return true; }else{ return false; } } var b = a.filter(f); console.log(b); var max = Math.max(...b); console.log("数组的最大奇数为:"+max);
#函數說明:
1、 filter() 方法
filter() 方法可以傳回數組中滿足指定條件的元素。只需要使用
array.filter(function callbackfn(Value,index,array),thisValue)
function callbackfn(Value,index,array)
:一個回呼函數,不可省略,最多可接受三個參數:
#value:目前陣列元素的值,不可省略。
index:目前陣列元素的數字索引。
array:目前元素屬於的陣列物件。
傳回值是一個包含回呼函數為其傳回 true 的所有值得新陣列。如果回呼函數為 array 的所有元素傳回 false,則新陣列的長度為 0。
2、Math.max()方法
Math.max()方法傳回作為輸入參數的最大數字,如果沒有參數,則傳回 -Infinity。
Math.max(value1, value2, ... valueN ) ;
下面是參數的詳細資訊:
value1, value2, ... valueN : 數字.
【相關推薦:javascript影片教學、程式影片】
以上是javascript怎麼求數組中的最大奇數的詳細內容。更多資訊請關注PHP中文網其他相關文章!