Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

Pythonのzip関数に相当するJavaScript


Pythonのzip関数と同等のJavaScript関数を作成する必要があります。つまり、同じ長さの複数の配列が与えられた場合、ペアの配列を作成する必要があります。

たとえば、次のような3つのアレイがある場合-

const array1 = [1, 2, 3];
const array2 = ['a','b','c'];
const array3 = [4, 5, 6];

出力配列は-

である必要があります
const output = [[1,'a',4], [2,'b',5], [3,'c',6]]

したがって、この関数zip()のコードを記述しましょう。これは、reduce()メソッドやmap()メソッドを使用したり、単純なネストされたforループを使用したりするなど、さまざまな方法で実行できますが、ここではネストされたforEach()ループを使用して実行します。

const array1 = [1, 2, 3];
const array2 = ['a','b','c'];
const array3 = [4, 5, 6];
const zip = (...arr) => {
   const zipped = [];
   arr.forEach((element, ind) => {
      element.forEach((el, index) => {
         if(!zipped[index]){
            zipped[index] = [];
         };
         if(!zipped[index][ind]){
            zipped[index][ind] = [];
         }
         zipped[index][ind] = el || '';
      })
   });
   return zipped;
};
console.log(zip(array1, array2, array3));

出力

コンソールの出力は-

になります
[ [ 1, 'a', 4 ], [ 2, 'b', 5 ], [ 3, 'c', 6 ] ]

  1. JavaScriptの関数プロトタイプ

    JavaScriptで作成された関数には、JavaScriptエンジンによって追加されたプロトタイププロパティが常にあります。プロトタイププロパティは、デフォルトでコンストラクタプロパティを含むオブジェクトです。関数protoypeには、-からアクセスできます。 functionName.prototype オブジェクトが関数コンストラクターを使用して作成されている場合、このプロトタイププロパティを使用して、その関数コンストラクターによって作成されたオブジェクト間でメソッドまたはプロパティを共有できます。 以下は、JavaScriptの関数プロトタイプのコードです- 例 <!DOCT

  2. JavaScriptでの関数の借用。

    call()、apply()、bind()は、JavaScriptのメソッドを借用するために使用されます。 以下は、JavaScriptでメソッドを借用するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> &