在JavaScript中,按日期和之后的名称过滤数组
Filter an array by date and after that by Name in JavaScript
我在js中有一个数组,名为:areas
var areas = [
["Id" : 1, "Date" : "2016-04-01", "Name" : "Ramon"],
["Id" : 2, "Date" : "2016-04-01", "Name" : "Ester"],
["Id" : 3, "Date" : "2016-04-01", "Name" : "Sandy"],
["Id" : 4, "Date" : "2016-04-02", "Name" : "Ruiz"],
["Id" : 5, "Date" : "2016-04-03", "Name" : "Mark"],
["Id" : 6, "Date" : "2016-04-04", "Name" : "Vadim"],
["Id" : 7, "Date" : "2016-04-06", "Name" : "Vanny"],
["Id" : 8, "Date" : "2016-04-09", "Name" : "John"]
]
例如,在此之前,我在ajax中有一个过滤器,它将按日期和时间对它们进行分类我为:
for (var i = 0; i < areas.length; i++ ){
console.log("Date " + areas[i].Date + " Name " + areas[i].Name);
}
输出将是这个
Date 2016-04-01 Name Ramon
Date 2016-04-01 Name Ester
Date 2016-04-01 Name Sandy
Date 2016-04-02 Name Ruiz
但我想知道是否是同一日期按名称过滤
这样:
Date 2016-04-01 Name Ester
Date 2016-04-01 Name Ramon
Date 2016-04-02 Name Ruiz
Date 2016-04-01 Name Sandy
我需要再绕一圈还是怎么绕?
感谢
https://jsfiddle.net/whr4taug/
Filter an array by date and after that by Name in JavaScript
你的问题不言自明-你需要过滤函数,js有-https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
它可以在一个循环中完成所有排序。或者你可以添加多个功能,每个功能都有它的排序
var areas = [
{"Id" : 1, "Date" : "2016-04-01", "Name" : "Ramon"},
{"Id" : 2, "Date" : "2016-04-01", "Name" : "Ester"},
{"Id" : 3, "Date" : "2016-04-01", "Name" : "Sandy"},
{"Id" : 4, "Date" : "2016-04-02", "Name" : "Ruiz"},
{"Id" : 5, "Date" : "2016-04-03", "Name" : "Mark"},
{"Id" : 6, "Date" : "2016-04-04", "Name" : "Vadim"},
{"Id" : 7, "Date" : "2016-04-06", "Name" : "Vanny"},
{"Id" : 8, "Date" : "2016-04-09", "Name" : "John"}
]
var filtered = areas.filter(function(el){
if (el.Name == 'Ramon' && el.Date == '2016-04-01') return el;
});
console.log(filtered);
此外,你的areas
标记是错误的(不确定是否有打字错误)-js没有关联的数组,只有用于该目的的对象
如果你的需求是使用ajax,那么我不确定你为什么需要js?只需执行两个ajax请求,这就是
如果你想在for
循环中过滤它们,只需使用相同的比较
for (var i = 0; i < areas.length; i++ ){
if (areas[i].Name == 'Ramon' && areas[i].Date == '2016-04-01') {
console.log("Date " + areas[i].Date + " Name " + areas[i].Name);
}
}
相关文章:
- 仅当选择特定的选择选项时,才使用JavaScript过滤数组
- 在JavaScript中,按日期和之后的名称过滤数组
- 在我的例子中,如何过滤数组值
- 在AngularJS中按数字过滤数组
- JavaScript 过滤器方法返回过滤数组和空数组
- 精确过滤数组
- 使用 JavaScript 或 jQuery 过滤数组
- 在 javascript 跨浏览器中过滤数组
- 当对象键值在数组中时如何过滤数组
- 角度按条件过滤数组中的多个项目
- 是否可以使用下划线按多个值过滤数组值
- 如何在 javascript 中的对象数组中过滤数组
- 在 javascript 中过滤数组以查找 3 个连续的数字
- 如何在javascript中减少和过滤数组
- 显示过滤数组的长度
- AngularJS:如何获取 ng-options 的过滤数组
- 有没有办法在 angularjs 过滤器中显示过滤数组的属性
- AngularJS - 通过 3 个选择输入过滤数组
- jQuery/JavaScript:用另一个数组过滤数组
- 如何过滤数组并将其与 Javascript 中的函数参数进行比较