首页 > 解决方案 > 如何为数组创建函数?

问题描述

我在编程课程的第一周,真的被这个问题困住了,需要一些帮助:

给定一个正整数数组,定义一个函数,将索引 i 处的数字替换为 arr[i]

例如fx([3, 2, 1])会返回[3, 3, 3, 2, 2, 1]

我什至不知道如何开始。

我正在使用打字稿。

我需要使用 for 循环吗?我将如何定义“ i”?

标签: arraystypescriptfunctionreturn

解决方案


  • 为此,请使用Array.fill,它可以创建具有特定长度的特定项目的数组。换句话说,项目3变成[3, 3, 3]
  • 使用Array.map将数组中的每个项目转换为该项目的数组。完成此步骤后,您[3, 2, 1]将成为[ [3, 3, 3], [2, 2], [1] ]
  • 使用Array.flat展平您的阵列。这会将之前的二维数组转换为一维数组。终于给[3, 3, 3, 2, 2, 1]你你想要的

您的fx遗嘱将如下所示:

const fx = arr => arr.map(x => Array(x).fill(x)).flat();
const arr = [3, 2, 1];

console.log(fx(arr));


推荐阅读