js如何查找json數(shù)據(jù)中的最大值和最小值方法
js查找json數(shù)據(jù)中的最大值和最小值
js操作數(shù)組的方式有很多種,查找json數(shù)據(jù)中的最大值和最小值也是經(jīng)常用到,那么接下來就介紹2種方式來實現(xiàn)。
先準備好json數(shù)據(jù),根據(jù)數(shù)組中的age值比較大?。?/p>
var array = [ ?? ?{name:'張三1',age:10}, ?? ?{name:'張三2',age:40}, ?? ?{name:'張三3',age:40}, ?? ?{name:'張三4',age:33}, ?? ?{name:'張三5',age:2}, ?? ?{name:'張三6',age:2}, ]
使用Math對象來獲取最大值和最小值
1. 獲取最大值:
var max = Math.max.apply(Math, array.map(function(o) { ?? ?return o.age; })) console.log(max);// 40
2. 獲取最小值:
var min = Math.min.apply(Math, array.map(function(o) { ?? ?return o.age; })) console.log(min);// 2
使用for循環(huán)來獲取最大值和最小值
1. 獲取最大值:
var max = arr[0].age; ?? ?for (var i = 1; i < arr.length; i++) { ?? ?max = max < arr[i].age ? arr[i].age : max; } console.log(max);// 40
2. 獲取最小值:
var min = arr[0].age; for (var i = 1; i < arr.length; i++) { ?? ?min = min > arr[i].age ? arr[i].age : min; } console.log(min);// 2
獲取最大值和最小值返回對應的json數(shù)據(jù)
1. 獲取含有最大值的數(shù)據(jù):
var maxAgeArr = arr.filter(item=>item.age==max); console.log(maxAgeArr);//[{name:'張三2',age:40},{name:'張三3',age:40}]
2. 獲取含有最小值的數(shù)據(jù):
var minAgeArr = arr.filter(item=>item.age==min); console.log(minAgeArr);//[{name:'張三5',age:2},{name:'張三6',age:2}]
用reduce()獲取JSON中某個字段值最大的項
需求
獲取JSON中value值最大的項
[{ value: 1 },{ value: 2 },{ value: 3 }]
語法
array.reduce(callback[, initialValue])
參數(shù) | 說明 |
---|---|
array | 必需。數(shù)組對象 |
callback | 必需。一個接受最多四個參數(shù)的函數(shù)。對于數(shù)組中的每個元素,reduce 方法都會調用 callback函數(shù)一次。 |
initialValue | 可選。如果指定 initialValue,則它將用作初始值。第一次調用 callback 函數(shù)會將此值作為參數(shù)。 |
返回值
通過最后一次調用回調函數(shù)獲得的累積結果。
回調函數(shù)語法
function callbackfn(previousValue, currentValue, currentIndex, array)
參數(shù) | 說明 |
---|---|
previousValue | 通過上一次調用回調函數(shù)獲得的值。如果向 reduce 方法提供 initialValue,則在首次調用函數(shù)時,previousValue 為 initialValue。 |
currentValue | 當前數(shù)組元素的值。 |
currentIndex | 當前數(shù)組元素的數(shù)字索引。 |
array | 包含該元素的數(shù)組對象。 |
示例:
let maxValue = data.reduce((prev, cur) => { return prev.value > cur.value ? prev : cur }) // maxValue = { value:3 }
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
JavaScript Cookie 直接瀏覽網(wǎng)站分網(wǎng)址
2009-12-12基于casperjs和resemble.js實現(xiàn)一個像素對比服務詳解
這篇文章主要給大家介紹了關于基于casperjs和resemble.js實現(xiàn)一個像素對比服務的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2018-01-01JS實現(xiàn)二維數(shù)組元素的排列組合運算簡單示例
這篇文章主要介紹了JS實現(xiàn)二維數(shù)組元素的排列組合運算,結合實例形式分析了javascript針對二維數(shù)組的遍歷、排列組合運算等相關操作技巧,需要的朋友可以參考下2019-01-01