You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
var arr = [
{name:'zopp',age:0},
{name:'gpp',age:18},
{name:'yjj',age:8}
];
function compare(property){
return function(a,b){
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
}
console.log(arr.sort(compare('age')))
取数组中最大差值
该方法很容易想到,就是�找到最大的值减去最小的值即可得到:
function getMax(arr){
var min = arr[0];
var max = arr[0]; //先假定第一个值及时最大也是最小的
for(var i = 0;i<arr.length;i++){
if(arr[i]<min) min = arr[i]
if(arr[i]>max) max = arr[i]
}
return max - min
}
数组去重
该方中的
indexOf
兼容性需要考虑;该方法会打乱原有数组的顺序;
对象根据属性排序
arrayObject.sort(sortby)
,sortby
非必填但必须为一个函数,规定排序顺序。这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同:取数组中最大差值
排序
�动画演示
冒泡排序
选择排序
快速排序
The text was updated successfully, but these errors were encountered: