Sobes.tech
Back to questions
Middle
6

// === 1 === // Замыкание // TODO: implement id function // console.log(id()); // 0; // console.log(id()); // 1; // console.log(id()); // 2; // console.log(id()); // 3; export default function App() { // TODO: implement Table.tsx return <Table />; }

Companies where asked
RWB

Answer from AI

sobes.tech AI

Для реализации функции id, которая при каждом вызове возвращает следующий целочисленный идентификатор, можно использовать замыкание, чтобы сохранить состояние счётчика между вызовами:

function createIdGenerator() {
  let currentId = 0;
  return function id() {
    return currentId++;
  };
}

const id = createIdGenerator();

console.log(id()); // 0
console.log(id()); // 1
console.log(id()); // 2
console.log(id()); // 3

Что касается компонента Table.tsx, без конкретных требований можно реализовать простой компонент на React, который отображает таблицу с фиксированными данными:

import React from 'react';

const data = [
  { id: 1, name: 'Alice', age: 30 },
  { id: 2, name: 'Bob', age: 25 },
  { id: 3, name: 'Charlie', age: 35 },
];

export default function Table() {
  return (
    <table>
      <thead>
        <tr><th>ID</th><th>Name</th><th>Age</th></tr>
      </thead>
      <tbody>
        {data.map(row => (
          <tr key={row.id}>
            <td>{row.id}</td>
            <td>{row.name}</td>
            <td>{row.age}</td>
          </tr>
        ))}
      </tbody>
    </table>
  );
}