【发布时间】:2019-05-27 16:29:16
【问题描述】:
我想过滤员工详细信息..因为我有包含数字和字符串的选择选项...我可以过滤对象中的字符串但不能使其成为数字...请指导我
<select id="endDate" onchange="sortEDate()">
<option value="All Years">All Years</option>
<option value="Past Years">Past Years</option>
<option value="Present">Present</option>
</select>
<p id="demo1"></p>
const employees = [
{ firstname: "Dav", start: 2013, end: 2018 },
{ firstname: "Gemmy", start: 2016, end: "Present" }
]
function sortEDate() {
const filterDate = [];
let cDate = document.getElementById("endDate").value;
employees.forEach(function(item, index, array) {
if (item.end === cDate) {
filterDate.push(item);
}
});
let fDate = "<table>";
filterDate.forEach(function(filterDate) {
fDate += "<tr>";
fDate += "<td>" + filterDate.firstname + "</td>";
fDate += "<td>" + filterDate.start + "</td>";
fDate += "<td>" + filterDate.end + "</td>";
fDate += "</tr>";
});
fDate += "</table>";
document.getElementById("demo1").innerHTML = fDate;
let allEducation = document.getElementById("endDate").value;
if (allEducation === "All Years") {
showEmployees();
}
}
【问题讨论】:
-
显示
employees数组 -
代码的哪一部分产生了意想不到的结果,该结果与您的预期有何不同?
-
const filterDate = []; let cDate = document.getElementById("endDate").value; employees.forEach(function(item, index, array) { if (item.end === cDate) { filterDate.push(item); } });
标签: javascript arrays sorting filter