JavaScript 中使用默认值将数组映射到新数组
在给定的问题陈述中,我们需要借助 JavaScript 功能将数组映射到一个具有默认值的新数组。在 JavaScript 中,我们有一些内置函数可以根据条件和需求将数组映射到新数组。
什么是 JavaScript 中的数组?
数组是在一个屋檐下收集相似数据元素的集合。因此,让我们了解 JavaScript 中数组的整体工作过程。数组是一个包含一个或多个元素的对象。
示例
const arr = ['A', 'B', 'C', 'D']; console.log(arr);
输出
[ 'A', 'B', 'C', 'D' ]
什么是数组的映射?
简单来说,数组的映射就是利用 JavaScript 中一些预定义的方法,使用输入数组的值创建一个新数组。此过程称为映射。在此过程中,每个数组项都用于使用某些逻辑或函数在新创建的数组中创建一个新项。
要映射数组的所有元素,我们通常使用 map() 函数,它是 JavaScript 的一个函数。在整个过程中,原始数组不会影响其大小或值。新数组的长度也与输入数组相同。
上述问题的逻辑
使用 JavaScript 的预定义函数操作给定字符串的最简单方法。
因此,让我们检查给定问题陈述的逻辑。术语“使用输入数组的默认值将数组映射到新数组”,我们将使用 map 函数。在 map 函数内部,我们将提供一些逻辑来创建新数组的项。map 函数将迭代输入数组的每个元素,并在进行函数内提供的某些计算时执行新项。创建新项后,我们将每个项推送到新数组,最后我们将返回新数组的值。
例如,如果我们有一些整数的数组,并且我们希望为给定的 null 或 undefined 项设置默认值 0。
示例
const digits = [1, 2, null, 3, undefined, 4]; const defaultValues = (num) => num || 0; const newArray = digits.map(defaultValues); console.log(newArray);
输出
[1, 2, 0, 3, 0, 4]
算法
步骤 1:由于我们知道需要将一个数组映射到另一个数组或创建一个新数组,因此我们将需要定义数组才能执行此过程。arr1 和 arr2
步骤 2:现在我们必须使用前一个数组的元素来创建一个新数组。因此,我们正在使用回调函数 Array.from 来解决上述问题陈述。通过将每个项目乘以 2,此函数将获取 arr1 并计算新项目。
步骤 3:非常类似于上述步骤,我们将看到指南功能的利用。通过获取输入数组中元素的平方根,此函数将遍历每个项目并计算新数组中的项目。
步骤 4:在最后一个示例中使用了“from”方法,它创建一个具有 0 值且长度为 5 的新数组。
示例
// define arrays arr1 and arr2 for checking different methods const arr1 = [1, 2, 3]; const arr2 = [4, 9, 16, 25]; const newarr1 = Array.from(arr1, x => x * 2); console.log(newarr1); const newarr2 = arr2.map(Math.sqrt); console.log(newarr2); const arr3 = Array.from({length: 5}, () => 0); console.log(arr3);
输出
[ 2, 4, 6 ] [ 2, 3, 4, 5 ] [ 0, 0, 0, 0, 0 ]
复杂度
正如我们所看到的,通过输入数组的默认值将数组映射到新数组的不同技术。所有方法和技术都需要 O(n) 时间才能完成执行并产生所需的结果。
结论
在此代码中,我们使用 JavaScript 的 map 函数实现了不同的映射技术。我们还看到,这些方法在处理较大的数组对象时效率不高。最后计算所有方法的时间复杂度为 O(n),其中 n 是输入数组的大小。