牛は、顧客のネットワークのフロントエンドプログラミング:特定の配列要素を削除します

私にとってこのホワイトフロントエンド、アイデアは、この問題を解決することだけを知って開始:

// 第一种方法
        機能削除(ARR、項目){
             VARの ARR1 = 新しいアレイ()。
            VAR i = 0 ; I <arr.length; iは++ ){
                 場合(ARR [I] =!アイテム){ 
                    arr1.push(ARR [I])。
                } 
            } 
            戻りARR1。
        }

その後、他の人が少し見行い、他の方法があることを発見し、途中で学びます:

// 第二の方法:使用して、スプライス及びスライス
         // スプライス方法は、元の配列を変更するには、転送の新しい配列に元の配列必要
        関数remove1(ARR、項目){
             // 全ての割り当ての元のデータ配列スライス方式を使用アレイARR1する
            のvar(ARR1 = arr.sliceを0 );
             // スプライス(X、Y):XはYの要素の要素から出発し、削除
            するためのVAR I = 0 ;私はarr1.lengthを<; Iは++ ){
                 IF( ARR1の[I] === アイテム){ 
                    arr1.splice(I、1 ); 
                    I - ; 
                } 
            } 
            戻りARR1の; 
        }
// 第三の方法:方法---->のみデータ値関数と一致ARR配列戻りarr.filter(関数)を使用して
         // オリジナル変化しないフィルタアレイ方式
        関数remove2(ARR、項目){
             // 第一のフィルタの使用方法
            戻りarr.filter(関数(要素){
                 返す!ELEMENT = 項目; 
            })
            // 第2の方法のフィルタ使用
            関数A(要素){
                 返す!ELEMENT = 、項目
            } 
            戻り(arr.filterをA); 
        }

すべての3つの方法は、試験します

おすすめ

転載: www.cnblogs.com/purple-windbells/p/11244193.html