`
leeyea
  • 浏览: 14071 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

用sort() 给数组及json数据排序

 
阅读更多
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
document.write(arr.sort())


运行结果:

George,John,Thomas,James,Adrew,Martin

Adrew,George,James,John,Martin,Thomas


说明:

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
  • 若 a 等于 b,则返回 0。
  • 若 a 大于 b,则返回一个大于 0 的值。


function sortNumber(a,b)
{
return a - b
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))

运行结果:
10,5,40,25,1000,1
1,10,1000,25,40,5

注意:上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数,如下:


function sortNumber(a,b) //此自定义函数仅仅是个形式而已,函数名和参数都随意自定义
{
return a - b             //不返回给用户,返回给sort()方法;默认为升序,调换a和b的位置则为倒序
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))

运行结果:
10,5,40,25,1000,1
1,5,10,25,40,1000


排序json数据

假设取到json数组:sData,其结构如下:

{"ID":1,"NAME":"leeyea"},{"ID":2,"NAME":"mary"},{"ID":3,"NAME":"kitty"}


由于JSON数据输出时一般是无序的,现在需要将数据排序:

一、降序

sData.sort( function(a, b){
return parseInt(a["ID" ]) < parseInt(b["ID" ]) ? 1 : parseInt(a[ "ID"]) == parseInt(b[ "ID" ]) ? 0 : -1;
});

二、升序

sData.sort( function(a, b){
return parseInt(a["ID" ]) > parseInt(b["ID" ]) ? 1 : parseInt(a[ "ID"]) == parseInt(b[ "ID" ]) ? 0 : -1;
});

注:实际操作时,由于js是弱类型语言,被比较的可能是字符串类型,需要进行类型转换,转换成int类型:parseInt()


分享到:
评论

相关推荐

    JSON数据两种排序例子

    总结,JSON数据的排序通常通过转换为数组并利用数组的`sort()`方法,或者利用`JSON.stringify()`配合replacer函数来实现。对于复杂的排序需求,可能需要结合其他数据结构和算法来完成。在实际应用中,了解这些方法能...

    前端 JSON 数据 排序

    4. **调用与使用**:在实际应用中,你可以先从服务器获取或本地读取JSON数据,然后调用`sortBy`函数进行排序,最后将排序后的数据渲染到页面上。例如: ```javascript fetch('data.json') .then(response =&gt; ...

    JS根据json数组多个字段排序及json数组常用操作

    在JavaScript中,处理JSON数组是常见的任务,特别是当你需要对数据进行排序、增删改查等操作时。这里我们将深入探讨如何根据JSON数组中的多个字段进行排序,以及JSON数组的一些常用操作。 首先,我们来看如何根据...

    JavaScript数组对象JSON学习笔记

    1. **数据结构:** JSON 数据由键值对组成,键名必须是字符串,而值可以是字符串、数字、布尔值、null、数组或者对象。 2. **语法简洁:** JSON 使用简单的键值对来表示数据,相比 XML 更容易理解和处理。 3. **直接...

    JavaScript对JSON数组简单排序操作示例

    sort方法不仅可以对基本数据类型如字符串进行默认的字典顺序排序,也可以对复杂的JSON对象数组进行排序。在对JSON对象数组进行排序时,需要利用到比较函数。比较函数根据提供的逻辑返回不同的值,以决定排序的顺序。...

    JS实现:数组中的json对象,按某个字段来进行字母排序.pdf

    在JavaScript中,数组排序是一个常见的操作,特别是在处理包含复杂数据结构如JSON对象的数组时。本文将详细讲解如何使用JavaScript实现对数组中的JSON对象按某个字段进行字母排序,并提供一个具体的示例函数。 首先...

    js json 重新随机重组排序方法demo

    在JavaScript中,可以使用`Math.random()`函数来生成一个0到1之间的随机数,然后通过数组的`sort()`方法配合随机数来实现数组的随机排序。下面是一个简单的实现方法: ```javascript function shuffleArray(array) ...

    json数据处理技巧(字段带空格、增加字段、排序等等).docx

    Json 数据处理技巧是指对 Json 数据进行处理和操作的技术和方法,包括 Json 数据的正常取值、字段带空格、赋值、增加字段、排序、拷贝、数组添加和删除等等。这些技巧可以广泛应用于 Web 开发、移动应用等领域。

    jQuery实现使用sort方法对json数据排序的方法

    在JavaScript中,排序是一项常见的操作,而对于数组类型的JSON数据,我们可以使用数组的sort方法来实现排序。 jQuery作为一个流行的JavaScript库,为我们提供了简化DOM操作、事件处理、动画和Ajax交互等功能。通过...

    基于JavaScript实现Json数据根据某个字段进行排序

    本文将深入探讨如何使用JavaScript内置的`sort()`方法以及自定义函数来实现JSON数据根据某个字段的排序。 首先,`sort()`方法是JavaScript数组的一个内建方法,它允许我们对数组中的元素进行排序。默认情况下,`...

    JS实现json数组排序操作实例分析

    本文将深入讲解如何使用JavaScript的`Array.prototype.sort()`方法对JSON数组进行排序操作。 `Array.prototype.sort()`方法允许我们对数组进行原地排序,即将数组中的元素按照特定顺序重新排列。在对JSON对象数组...

    javascript中对JSON数据进行简单的排序[代码简单,一看就懂哈]

    在JavaScript中,我们可以直接使用数组的`sort()`方法来对JSON数据进行排序。`sort()`方法接受一个比较函数作为参数,该函数定义了排序的规则。比较函数一般有两个参数,如果返回值大于0,则第一个参数应该排在第二...

    jQuery对JSON数据进行排序输出的方法

    在上面的例子中,我们首先使用$.getJSON方法获取JSON数据,然后通过sort方法对其进行排序。在sort方法中,我们定义了一个比较函数,它使用了String对象的localeCompare方法来比较字符串,这个方法能够根据本地语言...

    vscode-sort-json:VSCode扩展以对JSON对象进行排序

    按字母顺序对所选JSON对象中的键进行排序。 请谨慎使用-我已尝试确保它不会使您的JSON无效。 但是,由于必须解析&gt;排序&gt;字符串化,因此有可能会丢失某些内容。 对于纯JSON应该没问题。 安装 通过VSCode扩展安装 ...

    Json的两种排序方法

    我们可以使用`Array.prototype.sort()`方法对数据进行排序。例如,如果我们想要按照年龄升序排序: ```javascript let jsonData = { "data": [ {"name": "Tom", "age": 25}, {"name": "Jerry", "age": 30}, ...

    javascript对JSON数据排序的3个例子

    我们定义了一个`sortByKey`函数,它接受数组和排序的键作为参数,然后使用`sort`方法内部的比较函数进行排序: ```javascript function sortByKey(array, key) { return array.sort(function(a, b) { var x = a...

    JS实现json对象数组按对象属性排序操作示例

    本文将详细介绍如何使用JavaScript的sort()方法对JSON对象数组进行排序,并给出具体的操作示例。 首先,我们需要理解JavaScript中的sort()方法。sort()方法用于对数组的元素进行排序,可以接受一个可选的比较函数...

Global site tag (gtag.js) - Google Analytics