JavaScript で 2つの配列を圧縮する
Anika Tabassum Era
2023年10月12日
-
JavaScript で
map()
メソッドを使用して 2つの配列を圧縮する -
JavaScript で
Array.from()
メソッドを使用して 2つの配列を圧縮する -
Array.prototype.fill()
メソッドを使用して 2つの配列を圧縮する
JavaScript には、特定の長さの 2つの配列を圧縮するための map()
メソッドがあります。ただし、対応する 2つの配列が互いに一致しない場合、最小の長さの配列は、一致として undefined
を出力します。
ここでは、map()
メソッドとともに、Array.form()
メソッドと Array.prototype.fill()
メソッドのデモンストレーションが表示されます。このメソッドには、いつ何をすべきかを明示的に宣言しています。配列の長さが一致しません。
JavaScript で map()
メソッドを使用して 2つの配列を圧縮する
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);
出力:
JavaScript で Array.from()
メソッドを使用して 2つの配列を圧縮する
Array.from()
メソッドのインスタンスでは、2つの配列があり、それらを矢印関数に渡します。関数は最初に長さを一致させ、次に 2つの異なる配列からの要素をマップします。また、欠落している要素が見つかった場合、対応するマップはその要素に対して 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.prototype.fill()
メソッドを使用して 2つの配列を圧縮する
メソッド 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));
出力: