Back to questions
Middle
3
// === 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 <></>; }
Companies where asked
RWB
Answer from AI
sobes.tech AI
Для реализации функции id, которая при каждом вызове возвращает следующий целочисленный идентификатор, можно использовать замыкание, чтобы сохранить текущее значение счетчика:
function id() {
let counter = 0;
return function() {
return counter++;
};
}
const getId = id();
console.log(getId()); // 0
console.log(getId()); // 1
console.log(getId()); // 2
console.log(getId()); // 3
Если нужно, чтобы функция id сама по себе была вызываемой и возвращала следующий id, можно сделать так:
const id = (() => {
let counter = 0;
return () => counter++;
})();
console.log(id()); // 0
console.log(id()); // 1
console.log(id()); // 2
console.log(id()); // 3
Что касается Table.tsx, это компонент React, который обычно отображает данные в табличном виде. Пример простого компонента таблицы:
import React from 'react';
interface TableProps {
data: Array<{ id: number; name: string }>;
}
const Table: React.FC<TableProps> = ({ data }) => {
return (
<table>
<thead>
<tr><th>ID</th><th>Name</th></tr>
</thead>
<tbody>
{data.map(item => (
<tr key={item.id}>
<td>{item.id}</td>
<td>{item.name}</td>
</tr>
))}
</tbody>
</table>
);
};
export default Table;
В компоненте App можно использовать этот Table и передать данные через пропсы.