从参考链接,我能够使排序和列正常工作。现在有两件事我需要协助。
首先,如何将列的名称更改为我选择的名称(例如,日期 -> 日期和 bus_name -> busName。
其次,是去除过滤后的数组。我使用了接受的答案,它有效,但它过滤了数组末尾的空字符串。我想删除数组中的任何空字符串和/或未定义的值,而不影响我映射的原始数组。
这是公认的答案:
var array = [{ date: " ", bus_name: 'Thomas #1', driver_name: 'Sam', time_start: '9AM', time_end: '5PM' }, { date: '2012-02-11', bus_name: 'Thomas #2', driver_name: 'Samantha', time_start: '8AM', time_end: '4PM' }, { date: '2011-02-02', bus_name: 'Thomas #3', driver_name: 'Peter', time_start: '12PM', time_end: '7PM' }, { date: '2010-06-04', bus_name: 'Thomas #4', driver_name: 'Eddie', time_start: '11AM', time_end: '6PM' }, { date: " ", bus_name: 'Thomas #5', driver_name: 'Raul', time_start: '4AM', time_end: '1PM' }, { date: '2014-04-03', bus_name: 'Thomas #6', driver_name: 'Jessie', time_start: '5AM', time_end: '2PM' }],
result = array
.filter(o => o.date !== ' ')
.map(({ date, bus_name }) => ({ date, bus_name }))
.sort((a, b) => a.date.localeCompare(b.date));
console.log(result);
在过滤器部分,我希望能够从正在映射的数组中过滤和删除“”、0 和/或未定义。我该怎么做?我建议使用我使用的公认答案。我使用的数组在 localStorage 中。
遵循以下链接中的标准!
参考这个链接:Filtering undefined or empty strings from array of objects in Javascript