Javascript React-减少从Object.map返回的对象数量

Javascript React-减少从Object.map返回的对象数量,javascript,reactjs,Javascript,Reactjs,使用Object.keys.map时,是否有方法限制返回的对象数量?我想映射一些数据并呈现一些jsx,但我只想返回5个项目,但数据集中有20多个项目 我见过有人用.slice和数组来做这件事,但我认为我不能用对象来做这件事 return Object.keys(items).map((item, key) => { return ( <li> <a href={`/${items[item].link}`}>{item

使用Object.keys.map时,是否有方法限制返回的对象数量?我想映射一些数据并呈现一些jsx,但我只想返回5个项目,但数据集中有20多个项目

我见过有人用.slice和数组来做这件事,但我认为我不能用对象来做这件事

return Object.keys(items).map((item, key) => {
      return (
        <li>
          <a href={`/${items[item].link}`}>{items[item].title}</a>
        </li>
      )
    })
返回Object.key(items).map((item,key)=>{
返回(
  • ) })
    映射将返回一个数组。因此,您可以在map返回数组后对其进行切片

    return Object.keys(items).map((item, key) => {
          return (
            <li>
              <a href={`/${items[item].link}`}>{items[item].title}</a>
            </li>
          )
        }).slice(0,5)
    
    返回Object.key(items).map((item,key)=>{
    返回(
    
  • ) }).切片(0,5)
    (或)

    returnobject.keys(items).slice(0,5).map((item,key)=>{
    返回(
    
  • ) })

    第二个执行得更好

    map将返回一个数组。因此,您可以在map返回数组后对其进行切片

    return Object.keys(items).map((item, key) => {
          return (
            <li>
              <a href={`/${items[item].link}`}>{items[item].title}</a>
            </li>
          )
        }).slice(0,5)
    
    return Object.keys(items).map((item, key) => {
        if (key < 4) {
            return (
                <li>
                <a href={`/${items[item].link}`}>{items[item].title}</a>
                </li>
            )}
        })
    
    返回Object.key(items).map((item,key)=>{
    返回(
    
  • ) }).切片(0,5)
    (或)

    returnobject.keys(items).slice(0,5).map((item,key)=>{
    返回(
    
  • ) })
    第二个性能更好

    返回Object.key(items).map((item,key)=>{
    
    return Object.keys(items).map((item, key) => {
        if (key < 4) {
            return (
                <li>
                <a href={`/${items[item].link}`}>{items[item].title}</a>
                </li>
            )}
        })
    
    如果(键<4){ 返回(
  • )} })
    您将映射对象,并且由于您拥有密钥,因此可以检查您是否达到了可以设置的限制。

    返回object.keys(items).map((item,key)=>{
    如果(键<4){
    返回(
    
  • )} })

    您将映射对象,因为您有密钥,所以您可以检查是否达到了可以设置的限制。

    您可以在密钥之后执行此操作。key(items).slice(0,5).map(…)。可以在之后进行切片,但是像这样的映射只能在5上执行,否则它将在所有上执行,而不是删除所有REST尝试使用filter()并删除您不想要的内容,然后进行迭代。您可以在键之后执行此操作。key(items).slice(0,5).map(…)。可以在之后进行切片,但是像此映射只能在5上执行,否则它将在所有上执行,而不是删除所有REST尝试使用filter()并删除您不想要的内容,然后进行迭代仅添加内容,关于性能,最好在映射之前进行切片仅添加内容,关于性能,最好是先切片,而不是映射。您可能应该在映射之前进行切片,而此代码段可能是解决方案,它确实有助于提高帖子的质量。请记住,您将在将来回答读者的问题,而这些人可能不知道您的代码建议的原因。是的,当然。从现在起,我将尝试添加它们。虽然此代码片段可能是解决方案,但它确实有助于提高您的文章质量。请记住,您将在将来回答读者的问题,而这些人可能不知道您的代码建议的原因。是的,当然。从现在起,我将尝试添加它们。