获取 JSON 文件中的前 10 个值
Getting top 10 Values in a JSON File
这是我的JSON文件的一个示例。
[
{"Variable":"Hello","Variable1":20}, {"Variable":"Hi","Variable1":30},
{"Variable":"How","Variable1":40}, {"Variable":"Who","Variable1":50},
{"Variable":"Where","Variable1":60}, {"Variable":"This","Variable1":100},
{"Variable":"Pork","Variable1":10}, {"Variable":"Creep","Variable1":90},
{"Variable":"Mega Creeps","Variable1":80}, {"Variable":"LOL","Variable1":0},
{"Variable":"ROFL","Variable1":0}, {"Variable":"LMAO","Variable1":0},
{"Variable":"POP","Variable1":0}, {"Variable":"LOVE","Variable1":0},
{"Variable":"PICK","Variable1":0}, {"Variable":"WHIZ","Variable1":0},
{"Variable":"BORED","Variable1":0}, {"Variable":"KILLAH","Variable1":0},
{"Variable":"LOLLING","Variable1":0}, {"Variable":"HALOO HALOO","Variable1":0}
]
如何从最高变量 1 数到最低数仅获取前 10 名?但是将 JSON 文件以相同的格式传递。
首先,将 JSON 解析为对象数组:
var data = JSON.parse(json);
然后结合sort
和slice
来实现您的目标:
var top10 = data.sort(function(a, b) { return a.Variable1 < b.Variable1 ? 1 : -1; })
.slice(0, 10);
参见 Array.sort
你可以用 Alasql JavaScript 库来做到这一点。它下载json文件,解析它,然后运行SQL 语句。这是一个如何直接从 JSON 文件中获取前 10 个的示例:
<script src="alasql.min.js></script>
<script>
alasql("SELECT TOP 10 * FROM JSON('mydata.json') ORDER BY Variable1 DESC",[], function(top10){
console.log(top10);
});
</script>
或者,如果内存中已有数据:
var data = [{"Variable":"Hello","Variable1":20},{"Variable":"Hi","Variable1":30}];
var res = alasql("SELECT TOP 10 * FROM ? ORDER BY Variable1 DESC",[data]);
在 jsFiddle 中尝试此示例。
相关文章:
- 为复选框javascript指定两个值
- 如何在这里将两个值最低的数字相加
- 在数组中的一个元素上设置多个值
- 如何根据不同排序顺序的多个值对json对象进行排序
- 删除 JSON 中具有多个值的根节点
- 将具有多个值的 JSON 字符串发布到 ext js 面板
- 获取 JSON 文件中的前 10 个值
- 如何在 JSON 中使用 X 轴上的两个值在 HighCharts 中绘制
- Javascript:解析未定义的JSON多个值
- jQuery和JSON:从具有多个值的数组中进行链式选择
- 从JSON数组nodejs中获取2个值
- Jquery使用远程JSON中的多个值自动完成
- 通过JSON数组对象检索多个值
- 在JSON对象中插入多个值到同一个Key
- 如何在传单中传递2个值到json样式
- JSON:显示来自字符串的几个值
- 同一个JSON标签的多个值
- 使用jQuery从JSON文件中只选择前10个值
- 匹配来自两个独立JSON提要的值
- 计算for循环中JSON中两个值之间的百分比