在 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 函数将迭代输入数组的每个元素并执行新项目,同时进行函数内部提供的一些计算。创建新项目后,我们将每个项目推送到新数组,最后返回新数组的值。
例如,如果我们有一个包含一些整数的数组,并且我们想将给定的空值或未定义项的默认值设为 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 的新数组。
示例
// 定义数组 arr1 和 arr2 以检查不同的方法
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 是输入数组的大小。
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

