Назад к вопросам
Middle
5
// === 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 />; }
Компании, где спрашивали
RWB
Ответ от нейросети
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>
);
}