【问题标题】:Best way to get the first 3 elements looping through an array in React?在 React 中让前 3 个元素循环遍历数组的最佳方法?
【发布时间】:2021-07-08 22:57:00
【问题描述】:

让前 3 个元素循环通过该 React 数组的最佳方法是什么?

const elements = [
  {id:1, label:"1", value:1},
  {id:2, label:"2", value:2},
  {id:3, label:"3", value:3},
  {id:4, label:"4", value:4},
  {id:5, label:"3", value:5},
  {id:6, label:"3", value:6}
];

【问题讨论】:

标签: javascript reactjs


【解决方案1】:

如果可以改变原始数组,

const elements = [
      {id:1, label:"1", value:1},
      {id:2, label:"2", value:2},
      {id:3, label:"3", value:3},
      {id:4, label:"4", value:4},
      {id:5, label:"3", value:5},
      {id:6, label:"3", value:6}
    ];
elements.length = 3;
console.log(elements);

如果可以改变原始数组,但不仅仅是前 3 个或前 n 个元素,您可能想要选择一个窗口,splice 会给您更多的灵活性。 More details

const elements = [
      {id:1, label:"1", value:1},
      {id:2, label:"2", value:2},
      {id:3, label:"3", value:3},
      {id:4, label:"4", value:4},
      {id:5, label:"3", value:5},
      {id:6, label:"3", value:6}
    ];
elements.splice(3);
console.log(elements);

如果不需要改变原始数组,那么slice 是你的朋友。 More details

const elements = [
      {id:1, label:"1", value:1},
      {id:2, label:"2", value:2},
      {id:3, label:"3", value:3},
      {id:4, label:"4", value:4},
      {id:5, label:"3", value:5},
      {id:6, label:"3", value:6}
    ];
const newElements = elements.slice(0, 3);
console.log(newElements);

【讨论】:

    【解决方案2】:

    您的预设需要修复,因为它是对象中的 key: value 对,而不是 key=value

    但是您可以使用.slice(start, length) 来获得一定数量的结果:

    const elements = [{
        id: 1,
        label: "1",
        value: 1
      },
      {
        id: 2,
        label: "2",
        value: 2
      },
      {
        id: 3,
        label: "3",
        value: 3
      },
      {
        id: 4,
        label: "4",
        value: 4
      },
      {
        id: 5,
        label: "3",
        value: 5
      },
      {
        id: 6,
        label: "3",
        value: 6
      }
    ];
    
    console.log(elements.slice(0,3));

    【讨论】:

      【解决方案3】:

      你可以使用拼接功能

      const elements = [ 
        {id:1, label:"1", value :1},
        {id:2, label:"2", value :2},
        {id:3, label:"3", value:3},
        {id:4, label:"4", value:4},
        {id:5, label:"3", value:5},
        {id:6, label:"3", value:6}
      ]
      
      const first_tree=elements.splice(0,3)
      console.log(first_tree)

      【讨论】:

        【解决方案4】:

        使用destructuring:

        const elements = [{id:1, label:"1", value:1},{id:2, label:"2", value:2},{id:3, label:"3", value:3},{id:4, label:"4", value:4},{id:5, label:"5", value:5},{id:6, label:"6", value:6}];
        const [one, two, three] = elements;
        console.log(one, two, three);

        slice:

        {elements.slice(0, 3).map((item) => (
          <div key={item.id}>{item.label}</div>
        ))}
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-01-19
          • 1970-01-01
          • 2016-01-14
          • 1970-01-01
          • 2021-11-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多