2017-01-23 6 views
-2

私は、メイン配列を持つ複数の場所からfilterArray関数を呼び出しています。だから私が呼び出すとき初めて、私の配列は4つの項目を持っているし、私は2つの項目にそれをフィルタリングするいくつかの条件があります。次回は、私は同じfilterArray関数を呼び出すとき、私はすでにフィルタ項目からではなく、親配列フィルタ配列が空でない場合 - javascript

からフィルタリングしなければならない基本的にこれは私の親配列arr

{ 
    "0" : a 
    "1" : b 
    "2" : c 
    "3" : d 
} 

次である私は

var newArray = []; 
filterArray(tick) 
{ 
    for(var k = 0;k<arr.length;k++){ 
     if(tick == true) 
     { 
      newArray.push(arr[k]); 
     } 
    } 
} 
をしています

newArrayは

{ 
    "0" : a 
    "1" : b 
} 

もう一度新しいフィルタsフィルタ配列

for(var k = 0;k<newArray.length;k++) 
{ 
    if(tick == true) 
    { 
     newArray should be 
     { 
      "0" : a   
     } 

    } 
} 

上hould作業はこれは私が

if (typeof newArray == 'undefined' && newArray.length < 0) 
{ 
    newArray = arr; 
} 

配列を取る機能の下に存在

+7

あなた 'arr'が配列 – Satpal

+3

(インデックス== 0 &&インデックス== 1)場合には' '決して成功しないことができません。同じ変数を同時に2つの異なる数に等しくすることはできますか?とにかく 'index'変数はどこにありますか?それは「k」ですか? – Barmar

+0

あなたのスクリプトはバグであり、 'インデックスは定義されていません。 'など... – Hitmands

答えて

-1

使用している場合はどのように私は、すでにフィルタ配列からの配列項目をフィルタリングしないとやっているものですフィルターされた配列を出力として返します。

function filterArray(myArray) 
{ 
    var newArray = []; 
    if(myArray && myArray.length > 0) 
    { 
     for(var k = 0; k < myArray.length; k++) 
     { 
      if(index == 0 && index == 1) 
      { 
       newArray.push(myArray[k]); 
      } 
     } 
    } 
    return newArray; 
} 
関連する問題