在 JavaScript 中压缩两个数组

Anika Tabassum Era 2024年2月15日
  1. 在 JavaScript 中使用 map() 方法压缩两个数组
  2. 在 JavaScript 中使用 Array.from() 方法压缩两个数组
  3. 使用 Array.prototype.fill() 方法压缩两个数组
在 JavaScript 中压缩两个数组

JavaScript 有 map() 方法来压缩两个一定长度的数组。但是,如果相应的两个数组的长度不匹配,则最小加长数组将打印 undefined 作为其匹配项。

在这里,除了 map() 方法,我们将看到 Array.form() 方法和 Array.prototype.fill() 方法的演示,该方法明确声明了何时执行数组长度不匹配。

在 JavaScript 中使用 map() 方法压缩两个数组

map() 函数接受一个回调函数,该函数将调用 x 数组元素并将它们与 y 数组的元素映射。这种简单的拉链方式也很容易掌握。

代码片段:

var x = [1, 2, 3];
var y = ['10', '20', '30'];
var z = x.map(function(e, i) {
  return [e, y[i]];
});
console.log(z);

输出:

使用 map 方法压缩两个数组

在 JavaScript 中使用 Array.from() 方法压缩两个数组

Array.from() 方法的实例中,我们将有两个数组并将它们传递给箭头函数。该函数将首先匹配长度,然后映射来自两个不同数组的元素。此外,当发现任何元素丢失时,相应的地图将为此打印 undefined

代码片段:

var x = [1, 2, 3, 4];
var y = ['10', '20', '30'];
var zip = (x, y) =>
    Array.from(Array(Math.max(x.length, y.length)), (_, i) => [x[i], y[i]]);
console.log(zip(x, y));

输出:

使用 Array.from 方法压缩两个数组

使用 Array.prototype.fill() 方法压缩两个数组

Array.prototype.fill() 方法的工作方式与 Array.from() 方法类似,并按预期输出。

代码片段:

var x = [1, 2, 3];
var y = ['10', '20', '30', '40'];
const zip = (x, y) =>
    Array(Math.max(x.length, y.length)).fill().map((_, i) => [x[i], y[i]]);
console.log(zip(x, y));

输出:

使用 Array_prototype_fill 方法压缩两个数组

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook

相关文章 - JavaScript Array