メソッドのマップ配列

マップ方法は、各アレイは、アレイのアレイをループ関数で処理され、処理後の機能を返すことができるであろう。しかし、我々は関数で配列自体を変更した場合、次に何が起こるのだろうか?

       VaRの removeElement = 関数(NUMS、ヴァル){ 
            nums.map(関数(項目、インデックス){
                 場合(項目=== ヴァル){ 
                    にconsole.log(インデックス); // 2 3 
                    nums.splice(インデックス1 )。
                } 
            })。
        }。
        removeElement([ 1,2,3,4,3,5]、3)。

我々は、ケースの1サイクルで元の配列を変更した場合、上記の例から分かるように、その後、次の処理サイクルがアレイに基づいて行われるが変更されました。

        VaRの removeElement = 関数(NUMS、ヴァル){ 
            nums.map(関数(項目、インデックス){
                 IF(項目=== ヴァル){ 
                    nums.splice(インデックスは、 1); // 削除インデックスエントリアレイ2 、及び2は、インデックスの項目2となるが、インデックスは2で処理されているので、2このインデックスは、2に至るが除去されない、いかなる処置されていない後。
                } 
            }); 
        }; 
        removeElement([ 0、 1,2,2,3,0,4,2]、2)。

上記のコードが配列の場合:[0,1,2,2,2,3,0,4,2]、NUMS [0、1、2、3、0、4] [0の場合、 1,2,2,2,2,3,0,4,2]、NUMS [0、1、2、2、3、0、4] 

 

おすすめ

転載: www.cnblogs.com/xjy20170907/p/11128062.html