如何使用 Lodash 将项目添加到数组的开头?

Thi*_*mma 1 javascript lodash

我一直在寻找使用 lodash 将项目添加到数组开头的方法。不幸的是,除了 lodash concat (to the end of the array)之外,我似乎找不到其他任何东西。文档似乎也没有提及任何相关内容。

我得到以下代码:

const [collection, setCollection] = useState({
  foo: [1, 2, 3]
});

const addToCollection = (key, items) => {
  setCollection(prevCollection => ({
   ...prevCollection,
   [key]: _.concat(prevCollection[key] || [], items)
  }));
};
Run Code Online (Sandbox Code Playgroud)

但这会将所有项目连接到最后。我不想每次都对它们进行排序,因为这会使用不必要的处理能力,我宁愿将它们添加到开头,因为 API 总是推送已经排序的项目

我将如何实现这一点:

addToCollection('foo', [4, 5, 6]);
console.log(collection['foo']) // [4, 5, 6, 1, 2, 3];
Run Code Online (Sandbox Code Playgroud)

而不是现在发生的事情:

addToCollection('foo', [4, 5, 6]);
console.log(collection['foo']) // [1, 2, 3, 4, 5, 6];
Run Code Online (Sandbox Code Playgroud)

wil*_*lin 5

尝试交换参数:

_.concat(items, prevCollection[key] || [])
Run Code Online (Sandbox Code Playgroud)