js根据json数组多个字段排序的实现代码如下所示:
/* *数组根据数组对象中的某个属性值进行排序的方法 *使用例子:newArray.sort (sortByArr(“数量”,假))//表示根据属数量性降序排列,若第二个参数不传递,默认表示升序排序 * @param attr排序的属性[‘名’,‘性’…],根据一个字段或者多个字段排序 *真正@param转速表示升序排列,假降序排序 * */转速函数sortByArr (arr) { 如果(牧师==定义){ 牧师=1; 其他}{ 牧师=(牧师)& # 63;1:1; } 返回函数(a, b) { (var=0;我& lt;arr.length;我+ +){ 让arr attr=[我] 如果([attr] !=b [attr)) { 如果[attr()在b [attr)) { 返回牧师* 1; 其他}{ 返回牧师* 1; } } } } }
我们首先定义一个json数组对象如下:
var=[人 {名称:“蒂娜”,年龄:14}, {名称:“蒂莫”,年龄:15}, {名称:“莉莉”,年龄:16}, {名称:“露西”,年龄:16} )
<强>一。根据对象属性值得到相应对象强>
//1。获取名字等于莉莉的对象 莉莉var=persons.filter ((p)=比;{ 返回p.name==袄蚶颉? }); console.log(莉莉);//打印结果({name:“莉莉”,年龄:16}]//注:过滤器()方法返回的是一个数组 双胞胎var=persons.filter ((p)=比;{ 返回p。年龄==16; }); console.log(双胞胎);//打印结果({name:“莉莉”,年龄:16},{名称:“露西”,年龄:16}]
<强>二。删除其中一个对象强>
//删除名称等于蒂娜的对象,利用拼接()方法//1。首先我们要得到这个对象 蒂娜var=persons.filter ((p)=比;{ 返回p.name==暗倌取? });//2。其次得到这个对象在数组中对应的索引 var指数=persons.indexOf(蒂娜[0]);//3。如果存在则将其删除,指数比;1代表存在 指数比;1,,人。拼接(指数(1); console.log(人);//打印结果({name:“蒂莫”,年龄:15},{名称:“莉莉”,年龄:16},{名称:“露西”,年龄:16}]
<强>三。修改其中一个对象的属性值强>
//将名称等于蒂莫修的年龄改为20//1。得到timo对象 var timo=persons.filter ((p)=比;{ 返回p.name==皌imo”; });//2。修改年龄 timo [0]。=20岁;
<强>四。往数组中添加一个对象强>
//这个最简单了 人。推动({name:“相似”,年龄:18});
,(注:以上的所有操作都会对原数组产生直接影响。
以上所述是小编给大家介绍的JS根据json数组多个字段排序及json数组常用操作,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持。
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!