{ "id": "fe97831963938eb6a767a77c", "source": "solid:signals", "type": "github-document", "title": "index-array", "content": "---\ntitle: indexArray\nuse_cases: \u003e-\n rendering lists by index, stable item references, index-based list operations,\n optimized list rendering\ntags:\n - arrays\n - lists\n - index\n - rendering\n - optimization\nversion: '1.0'\ndescription: \u003e-\n Map arrays by index in SolidJS where items are signals and indices are\n constant. Optimized helper for index-based list rendering patterns.\n---\n\n```tsx\nimport { indexArray } from \"solid-js\"\n\nfunction indexArray\u003cT, U\u003e(\n\tlist: () =\u003e readonly T[],\n\tmapFn: (v: () =\u003e T, i: number) =\u003e U\n): () =\u003e U[]\n\n```\n\nSimilar to `mapArray` except it maps by index.\nThe item is a signal and the index is now the constant.\n\nUnderlying helper for the `\u003cIndex\u003e` control flow.\n\n```tsx\nconst mapped = indexArray(source, (model) =\u003e {\n return {\n get id() {\n return model().id\n }\n get firstInitial() {\n return model().firstName[0];\n },\n get fullName() {\n return `${model().firstName} ${model().lastName}`;\n },\n }\n});\n```\n\n## Arguments\n\n| Name | Type | Description |\n| :---- | :----------------------------- | :-------------------- |\n| list | `() =\u003e readonly T[]` | The list to map. |\n| mapFn | `(v: () =\u003e T, i: number) =\u003e U` | The mapping function. |", "url": "https://github.com/solidjs/solid-docs/blob/HEAD/src/routes/reference/reactive-utilities/index-array.mdx", "metadata": { "path": "src/routes/reference/reactive-utilities/index-array.mdx", "repo": "solidjs/solid-docs", "repo_url": "https://github.com/solidjs/solid-docs.git", "size": 1260, "source_type": "github" }, "hash": "ef5ba6756bf5eaecada95b45b658f2cc9e9a3ad6245506ae2d4872dc21ef79f3", "timestamp": "2026-02-23T11:43:00.189941483+01:00" }