Json排序问题



http://www.devcurry.com/2010/05/sorting-json-array.html

我偶然看到这篇文章,我想对这篇文章做一些解释。

    function SortByName(x,y) {      
        return ((x.Name == y.Name) ? 0 : ((x.Name > y.Name) ? 1 : -1 ));   
    }
arr.sort(SortByName);
  1. arr.sort(x,y(的参数是什么。JSON对象将传递给函数的参数是多少。

  2. SortByName函数返回什么。我不懂整句话。有人能给我更多的细节吗。

arr.sort(x,y(.的论点是什么

阵列中当前正在比较的两个值

SortByName函数返回什么

0、-1或1,具体取决于两个Name属性中哪个较大。

您可能应该阅读排序的文档

sort的参数是一个函数,它将用数组的两个不同元素调用多次,如果元素相等,则返回0,如果x>y,则返回1,如果y>x,则返回-1。

return ((x.Name == y.Name) ? 0 : ((x.Name > y.Name) ? 1 : -1 ));  

与完全相同

if (x.Name == y.Name) 
   return 0;
else
   if (x.Name > y.Name) 
      return 1;
   else
      return -1;

最新更新