js如何查找json數(shù)據(jù)中的最大值和最小值方法
js查找json數(shù)據(jù)中的最大值和最小值
js操作數(shù)組的方式有很多種,查找json數(shù)據(jù)中的最大值和最小值也是經(jīng)常用到,那么接下來(lái)就介紹2種方式來(lái)實(shí)現(xiàn)。
先準(zhǔ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對(duì)象來(lái)獲取最大值和最小值
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)來(lái)獲取最大值和最小值
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
獲取最大值和最小值返回對(duì)應(yīng)的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中某個(gè)字段值最大的項(xiàng)
需求
獲取JSON中value值最大的項(xiàng)
[{ value: 1 },{ value: 2 },{ value: 3 }]
語(yǔ)法
array.reduce(callback[, initialValue])
參數(shù) | 說(shuō)明 |
---|---|
array | 必需。數(shù)組對(duì)象 |
callback | 必需。一個(gè)接受最多四個(gè)參數(shù)的函數(shù)。對(duì)于數(shù)組中的每個(gè)元素,reduce 方法都會(huì)調(diào)用 callback函數(shù)一次。 |
initialValue | 可選。如果指定 initialValue,則它將用作初始值。第一次調(diào)用 callback 函數(shù)會(huì)將此值作為參數(shù)。 |
返回值
通過(guò)最后一次調(diào)用回調(diào)函數(shù)獲得的累積結(jié)果。
回調(diào)函數(shù)語(yǔ)法
function callbackfn(previousValue, currentValue, currentIndex, array)
參數(shù) | 說(shuō)明 |
---|---|
previousValue | 通過(guò)上一次調(diào)用回調(diào)函數(shù)獲得的值。如果向 reduce 方法提供 initialValue,則在首次調(diào)用函數(shù)時(shí),previousValue 為 initialValue。 |
currentValue | 當(dāng)前數(shù)組元素的值。 |
currentIndex | 當(dāng)前數(shù)組元素的數(shù)字索引。 |
array | 包含該元素的數(shù)組對(duì)象。 |
示例:
let maxValue = data.reduce((prev, cur) => { return prev.value > cur.value ? prev : cur }) // maxValue = { value:3 }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
js將滾動(dòng)條滾動(dòng)到指定位置的簡(jiǎn)單實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇js將滾動(dòng)條滾動(dòng)到指定位置的簡(jiǎn)單實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的, 現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06php 解壓zip壓縮包內(nèi)容到指定目錄的實(shí)例
下面小編就為大家分享一篇php 解壓zip壓縮包內(nèi)容到指定目錄的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01JavaScript Cookie 直接瀏覽網(wǎng)站分網(wǎng)址
2009-12-12基于casperjs和resemble.js實(shí)現(xiàn)一個(gè)像素對(duì)比服務(wù)詳解
這篇文章主要給大家介紹了關(guān)于基于casperjs和resemble.js實(shí)現(xiàn)一個(gè)像素對(duì)比服務(wù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01JS實(shí)現(xiàn)二維數(shù)組元素的排列組合運(yùn)算簡(jiǎn)單示例
這篇文章主要介紹了JS實(shí)現(xiàn)二維數(shù)組元素的排列組合運(yùn)算,結(jié)合實(shí)例形式分析了javascript針對(duì)二維數(shù)組的遍歷、排列組合運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01