Постоянно обновляйте массив объектов и управляйте сокращением длины - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь сохранить историю поиска в приложении «Реакция / Избыток» (с использованием операций «Извлечение»), которое я выполняю в редукторе.Я хочу сохранить последние десять поисков и иметь самые последние в начале.У меня есть массив объектов, и я хочу (непременно) добавить новый объект в начале массива и сдвинуть все оставшиеся результаты на один.Я также не хочу, чтобы массив вырос больше, чем на 10 элементов.В настоящее время я просто каждый раз переопределяю начальный элемент следующим образом:

[setWorkPermit]: (state, action) => ({
  ...state,
  searchHistory: Object.assign([...state.searchHistory], { [0]: action.payload }),
}),

Я надеялся, что в ES6 был чистый способ сделать это.Любой берущий?

1 Ответ

0 голосов
/ 26 июня 2018

Я думаю, что кусочки массива могли бы сработать!

Просто создайте новый массив, содержащий новый объект с нулевым индексом, а затем фрагмент предыдущих 0-9 индексов, например:

searchHistory: [action.payload, ...state.searchHistory.slice(0,9)],

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...