Это решение будет сначала сортировать шины по minToStop
, а затем по busId
. Затем он перебирает массив buses
и условно помещает шину на верхний уровень массива final
или вкладывает, как вы просили.
const buses = [
{ busId: "234", minToStop: 40, timeToStop: 1390 },
{ busId: "123", minToStop: 16, timeToStop: 957 },
{ busId: "123", minToStop: 23, timeToStop: 1490 },
{ busId: "234", minToStop: 17, timeToStop: 957 },
{ busId: "123", minToStop: 30, timeToStop: 1390 },
{ busId: "234", minToStop: 1, timeToStop: 1490 }
];
buses.sort((a,b) => a.minToStop - b.minToStop);
buses.sort((a,b) => a.busId > b.busId);
let formatted = [];
buses.forEach(bus => {
if (
formatted.length > 0 &&
formatted[formatted.length - 1].busId === bus.busId
) {
formatted[formatted.length - 1].laterBuses.push(bus);
} else {
bus.laterBuses = [];
formatted.push(bus);
}
});
console.log(formatted);
Это также, кажется, легче настроить новый проект по вершине сложного набора существующего кода.
Например, что-то, что Вы естественно настроили бы в 5 или больше модулей.
Существует действительно красивое движение для тестирования мастера, который связывается с ctrl-shift-T. Стоящий обновления отдельно
Лучший способ сказать состоит в том, чтобы проверить список новых возможностей и решить для себя. Я не обнаружил единственной функции до сих пор, которую отдельно стоит обновить - упрощенный вид UML довольно хорош, как улучшенная интеграция Знатока. UI чувствует себя более оптимизированным и быстрее. Кажется, что большая часть внимания вошла в функции не-Java как лучшая поддержка Flex (который я действительно благодарен за то, поскольку мне не нравится FlexBuilder, но у меня не было шанса использовать все же).
IntelliJ 8 имеет настраивать функцию плагинов, которая позволяет Вам отключать плагины с зависимостями. Ничто, что метод проб и ошибок не мог копировать, но это хорошо.
Запуск только незначительно медленнее. Но индексация, однажды открытая, намного быстрее, чем прежде, даже непримечательна для большинства проектов, кроме после фиксации к Подверсии. Кажется, что фиксация к подверсии инициировала индексацию дважды.
Я работаю над сборкой Diana-EAP - но 8 встроили интеграцию мерзавца. EAP имеет лучшую интеграцию мерзавца, чем эти 8.0.1 выпуска - похоже, что это - что-то, на чем они действительно фокусируются.
Точно нет! Кажется, что переменные, определенные в нашем пользовательском taglibs, больше не могут использоваться в jsp (работал в 7.0.4). Полностью красный. Нет автоматический завершенный.
О, и новое меню параметров является ужасающим!
Some benefits of IntelliJ IDEA 8:
IDEA 8 supports Subversion 1.5 new functionality - e.g. merge tracking, which may be useful especially if your team (like ours) uses a lot of development branches and thus merging is frequent.
One detail I appreciated about IDEA 8: As you probably know, IDEA has had changelists for pretty long now, built on top of any underlying version control system - this is a really useful feature. So, now that Subversion itself supports changeslists, IDEA's changelist implementation has been changed so that it is perfectly compatible with Subversion's native changeslists. (For example, you'll be able to work with any changelists created in IDEA also when using svn
command line tools directly.)
Edit: in your case, perhaps it is not worthwhile to upgrade. For me, at least, startup and file indexing seems to be somewhat slower in 8 than 7. [But for me personally the upgrade was definitely worth it, because it solved a long-standing VCS problem with IDEA 7 - it could hang "waiting for VCS sync to finish" for an hour or whatever after hitting Ctrl-K.]