做汽车网站销售怎么入手,wordpress手机 ios,wordpress 文件下载漏洞,网页制作需要学什么语言sort()函数是javascript中自带函数#xff0c;这个函数的功能是排序。
使用sort()函数时#xff0c;函数参数如果不设置的话#xff0c;以默认方式进行排序#xff0c;就是以字母顺序进行排序#xff0c;准确的讲就是按照字符编码的顺序进行排序。
var arr [3,2,3,34,1…sort()函数是javascript中自带函数这个函数的功能是排序。
使用sort()函数时函数参数如果不设置的话以默认方式进行排序就是以字母顺序进行排序准确的讲就是按照字符编码的顺序进行排序。
var arr [3,2,3,34,12,23,234,84,9];
arr.sort();// 结果: 12,2,23,234,3,3,34,84,9
通过sort(sortby)函数自定义排序的逻辑。
// 升序
var arr [3,2,3,34,12,23,234,84,9];
arr.sort(function (a, b) {return a - b;
});
// 结果2,3,3,9,12,23,34,84,234// 降序
var arr [3,2,3,34,12,23,234,84,9];
arr.sort(function (a, b) {return b - a;
});
// 结果234,84,34,23,12,9,3,3,2
上述代码中用一个匿名函数作为sort()的参数。
在匿名函数中a和b这两个参数我个人理解就是待排序数组中任意两个连续的元素。
如果
a - b 0: 代表后一个比前一个大就是升序b - a 0: 代表前一个比后一个大就是降序a - b 0 或 b - a 0: 前后两个数相等 对于一个普通的数组排序可以很容易的解决。但在开发中这样的普通数组很少用。
在做前端开发时往往要配合后端的开发而前后台的交互现在大都是用json格式的数据比如这样的数据
{user:[{ name: has, age: 17, height: 165 },{ name: saf, age: 20, height: 172 },{ name: gngh, age: 45, height: 182 },{ name: yjerw, age: 42, height: 156 },{ name: cvb, age: 22, height: 176 },{ name: wetty, age: 32, height: 178 },{ name: aDNY, age: 34, height: 175 }]
}
关对象数组的排序sort()函数同样适用。
对age排序
// 按age升序排列
var arr {user:[{ name: has, age: 17, height: 165 },{ name: saf, age: 20, height: 172 },{ name: gngh, age: 45, height: 182 },{ name: yjerw, age: 42, height: 156 },{ name: cvb, age: 22, height: 176 },{ name: wetty, age: 32, height: 178 },{ name: aDNY, age: 34, height: 175 }]
};
var users arr.user;
users.sort(function (a, b) {return a.age - b.age;
});
// 结果升序
/*
name:has age:17 height:165
name:saf age:20 height:172
name:cvb age:22 height:176
name:wetty age:32 height:178
name:aDNY age:34 height:175
name:yjerw age:42 height:156
name:gngh age:45 height:182
*/
如果对name排序呢
// 按name排列
var arr {user:[{ name: has, age: 17, height: 165 },{ name: saf, age: 20, height: 172 },{ name: gngh, age: 45, height: 182 },{ name: yjerw, age: 42, height: 156 },{ name: cvb, age: 22, height: 176 },{ name: wetty, age: 32, height: 178 },{ name: aDNY, age: 34, height: 175 }]
};
var users arr.user;
users.sort(function (a, b) {return a.name - b.name;
});
// 结果
/*
name:aDNY age:34 height:175
name:cvb age:22 height:176
name:gngh age:45 height:182
name:has age:17 height:165
name:saf age:20 height:172
name:wetty age:32 height:178
name:yjerw age:42 height:156
*/
可以看到这样的字符串排序就是按照字符的ASCII码来比较。
sort()函数功能完全取决于sort()函数中的匿名函数。