看了你的方式,规则都自己写了就不需要 reverse 了Object.keys(data).sort(function (a, b) { var da = moment(data[a].noteDate, 'x').diff(moment(), 'day') var db = moment(data[b].noteDate, 'x').diff(moment(), 'day') if (da * db < 0) { return da - db } return Math.abs(db) - Math.abs(da)}).forEach(key => { // code});