jQuery获取数组url参数值中的最大值

jQuery获取数组url参数值中的最大值,jquery,arrays,Jquery,Arrays,我有一个url数组参数,它有数值。 我做过研究,但什么也没发现 这是我的数组url:units[1]=5&grade[1]=1.25&units[2]=3&grade[2]=1.50&units[3]=2&grade[3]=2.50 我需要的是得到单位和等级 简而言之,它将显示:1.25为最低等级,2为最低单位 有可能用那种绳子吗?谢谢大家! 台阶 将URL参数解析为JavaScript对象 第一步是将此参数解析为易于操作的对象。当被问及如何做到这一点时,你只需搜索一点就可以找到最适合你的。我发

我有一个url数组参数,它有数值。 我做过研究,但什么也没发现

这是我的数组url:
units[1]=5&grade[1]=1.25&units[2]=3&grade[2]=1.50&units[3]=2&grade[3]=2.50

我需要的是得到
单位
等级

简而言之,它将显示:
1.25
为最低等级,
2
为最低单位

有可能用那种绳子吗?谢谢大家!

台阶 将URL参数解析为JavaScript对象 第一步是将此参数解析为易于操作的对象。当被问及如何做到这一点时,你只需搜索一点就可以找到最适合你的。我发现的第一个使用的是’s,这是相反的。以这种方式解析URL参数很容易:

var params = $.deparam(urlParam);
从每个数组中提取最小值 (使用相同的方法)演示了如何向数组原型添加一个函数,该函数将返回数组的最小元素

Array.prototype.min = function() {
  return Math.min.apply(null, this);
};
如果使用它,获取数组中最低的元素很简单:

var lowestUnits = params.units.min();
或者,如果您不希望将其添加到原型中,您可以明确地称其为:

var lowestUnits = Math.min.apply(null, params.units);
完整代码示例 将来自其他答案的样本连接起来,下面是如何go1:

向阵列原型添加
min
函数 保持原样

1:再一次,s不是唯一可用的解决方案。

我使用了via的parseParams

/*辅助函数*/
(function($){var re=/([^&=]+)=?([^&]*)/g;var decode=function(str){return decodeURIComponent(str.replace(/\+/g');};$.parseParams=function(query){function createElement(params,key,value){key=key++'';if(key.indexOf(')!=-1){var list=key.split('.');var new key=key=key.split(/\.+)/)[1];if(!params]]params[list[0]]={};if(new_key!=''){createElement(params[list[0]],new_key,value);}else控制台。warn('parseParams::key“'+key+'”中的empty属性;}else if(key.indexOf('[')!=-1){var list=key.split('[');key=list[0];var-list=list[1]。split(']');var-index=list[0];if(index='if='if(!params){(!params[key]| |!$.isArray(params[key]))params[key]=[];params[key].push(value);}else{if(!params)params={};if(!params[key]|!$.isArray(params[key])params[key]=[];params[key][parseInt(index)]=value;}else{if(!params)params=value={};params[key]=value;}query query query query=='';if(='')query=window.location+'';var参数={},e;if(query){if(query.indexOf('#')!==-1{query=query.substr(0,query.indexOf('#');}if(query.indexOf('?')!=-1{query query=query.substr(query.indexOf('?'))+1,query.length)}否则返回{};if(query=='')返回{;而(e=re.exec(query=key=decode[1]){;var value=decode(e[2]);createElement(params,key,value);}}}返回params;};}(jQuery);
Array.prototype.min=函数(){
返回Math.min.apply(null,this);
};
函数getArr(obj){
return Object.keys(obj.map)(函数(key){return obj[key];})
}
/*实际代码*/
//将字符串更改为例如location.href以获取您的URL
变量url=”http://example.com/?units[1] =5&等级[1]=1.25&单位[2]=3&等级[2]=1.50&单位[3]=2&等级[3]=2.50”;
var arrs=$.parseParams(url);//现在数组存储为arrs={unit:[],grade:[]}
var unitArr=getArr(arrs.units),gradeArr=getArr(arrs.grade);//只提取值
console.log(unitArr.min(),gradeArr.min());//获取每个的最小值

这是什么->单位[1]=5&等级[1]=1.25&单位[2]=3&等级[2]=1.50&单位[3]=2&等级[3]=2.50 URL?还是javascript中的一个字符串?为什么要这样发送???使用post假设您的索引高达单位[500]
Array.prototype.min = function() {
  return Math.min.apply(null, this);
};

// ...

var params = $.deparam('units[1]=5&grade[1]=1.25&units[2]=3&grade[2]=1.50&units[3]=2&grade[3]=2.50');
var lowestGrade = params.grade.min();
var lowestUnits = params.units.min();
var params = $.deparam('units[1]=5&grade[1]=1.25&units[2]=3&grade[2]=1.50&units[3]=2&grade[3]=2.50');
var lowestGrade = Math.min.apply(null, params.grade);
var lowestUnits = Math.min.apply(null, params.units);