迭代json对象数组,并使用ProtypeJS根据关键字对其进行排序
Iterate json object array and sort it based on key with Protoype JS
如果这个问题重复,我很抱歉,但我必须问它。我使用原型JS从文件中读取JSON数据。JSON数据如下所示;
{
"metaData": {
"date": "2014-10-06"
},
"listOf": [
{
"fname": "bill",
"id": 23
},
{
"fname": "tom",
"id": 35
},
{
"fname": "jerry",
"id": 12
},
{
"fname": "batman",
"id": 68
},
{
"fname": "superman",
"id": 55
},
{
"fname": "sp-m/super",
"id": 55
},
]
}
在我的代码中,我需要访问"listOf"键/数组,然后我想循环遍历每个元素,并根据"fname"键对这些元素进行排序。我通过ajax请求读取这些数据。下面是代码;
new Ajax.Request('/file.json', {
method:'get',
onSuccess: function(transport){
var json = transport.responseText.evalJSON();
console.log(json);
}
});
现在VAR JSON包含必需的数据,但我不知道如何访问"listOf"数据并对其进行迭代。
我试着使用。每个函数都是这样的;
json.list.each(alert);
但它只打印"对象object"。
请帮我解决这个问题。
p.S:请使用原型JS作为答案,但不使用Jquery。
您可以使用其名称访问listOf
集合属性:
json.listOf
因此,如果您想对数组进行排序,可以尝试使用.sort()
javascript方法:
json.listOf.sort(function(a, b) {
if (a.fname > b.fname) {
return 1;
} else if (a.fname < b.fname) {
return -1;
}
return 0;
});
// At this stage json.listOf will contain the sorted in-place array using the `fname` property
这是一个CCD_ 3,说明了它的作用。
相关文章:
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 使用promise和mongoose对文档进行排序
- 使用“;这个“;JavaScript原型方法中的关键字
- Selectize.js:如何对整数值的选项进行排序
- Javascript排序的图像弹出窗口..可以't单独弹出
- delete关键字在全局变量上的不同行为
- 如何通过引用var Using DataTables来进行分页或排序
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- AngularJs对所有页面中的所有记录进行排序
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- 按从高到低对多个int变量进行排序
- jQuery UI可排序-多连接列表拖动
- Javascript排序字符串或数字
- JavaScript 中的嵌套函数和 “this” 关键字
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- Undercore将对象转换为数组并按关键字名称排序
- 如何以键值日期为关键字对对象进行排序
- 迭代json对象数组,并使用ProtypeJS根据关键字对其进行排序
- AngularJS:在ng-repeat中按日期排序,关键字是日期
- 根据关键字对数据进行排序