使用 lodash 按每三个对对象进行分组

ooz*_*ozy 1 javascript arrays lodash reactjs

假设我有以下数组:

const list = [{}, {}, {}, {}, {}, {}, {}, {}]
Run Code Online (Sandbox Code Playgroud)

使用lodash,我想将它们“分组”为三个,这样我就可以在react/js中对它们进行排序

// 映射分组对象

group =>
<div>
     // Now map the three elements by one.
     item => 
    <div>item.value</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的尝试:

  const mediaList = _.groupBy(media, (element, index) => {
    return Math.floor(index/3)
  })
Run Code Online (Sandbox Code Playgroud)

不起作用,因为所有项目仍然分组到一个数组中,并且该数组的名称是NaN

我怎样才能做到这一点?

fel*_*osh 5

您可以将_.chunk其分成包含 3 个项目的块数组。

const list = [{}, {}, {}, {}, {}, {}, {}, {}];

const result = _.chunk(list, 3);

console.log(result);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>
Run Code Online (Sandbox Code Playgroud)