Gio*_*rez 12 html javascript arrays parsing json
这是我的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}
]
Run Code Online (Sandbox Code Playgroud)
如何才能从最高的Variable1号码中获得前10名?但是要将JSON文件作为相同的格式传递.
hai*_*770 16
首先,将JSON解析为一个Objects数组:
var data = JSON.parse(json);
Run Code Online (Sandbox Code Playgroud)
然后结合sort
并slice
实现您的目标:
var top10 = data.sort(function(a, b) { return a.Variable1 < b.Variable1 ? 1 : -1; })
.slice(0, 10);
Run Code Online (Sandbox Code Playgroud)
请参见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>
Run Code Online (Sandbox Code Playgroud)
或者,如果您的内存中已经有数据:
var data = [{"Variable":"Hello","Variable1":20},{"Variable":"Hi","Variable1":30}];
var res = alasql("SELECT TOP 10 * FROM ? ORDER BY Variable1 DESC",[data]);
Run Code Online (Sandbox Code Playgroud)
在 jsFiddle 中试试这个示例。
归档时间: |
|
查看次数: |
10714 次 |
最近记录: |