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”方法,它创建了一个长度为5并且值都为0的新数组。
示例
// 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是输入数组的大小。