使用jQuery从JSON文件中仅选择前10个值

时间:2014-06-22 12:16:44

标签: javascript jquery ajax json sorting

我有一个JSON文件,我加载并使用jQuery显示。但我只想获得最高价值的前10名。

例如。

JSON:

{
"value": {
    "number": "12",
    "number": "11",
    "number": "10",
    "number": "9",
    "number": "8",
    "number": "7",
    "number": "6",
    "number": "5",
    "number": "4",
    "number": "3",
    "number": "2",
    "number": "1",
    "number": "0",
  }
}

我只想得到最高的10,所以在这个例子中它将是12到3。请注意所有值字符串格式,而不是数字。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

这是无效的JSON:{ "value": { "number": "12", "number": "11" ... } }

JSON仅支持具有每个名称的一个属性。您可以使用Arrays存储数据集:

{"numbers": [1,2,3,4,5]}

如果您将数据存储为数组,则可以使用Array.sortArray.slice

var data= {"numbers": [1,2,3,4,5]};

data.numbers.sort(function(a, b) {
    return b - a;
});

var to2 = data.numbers.slice(0, 2); // [5,4]

请注意,.sort可以处理输入数组,而.slice会返回一个新数组。