2016-08-24 3 views
0

と角度での検索を実装する私がクリックしたときに、それはリストをフィルタリングし、フィルタリングされたリストを返すこと簡単なボタンがあります。angular.copy

var originalArray = [{name: "A", number: 1},{name: "B", number: 2},....] 

そして、ここではfilter機能は

function filterList(filterName, filterNumber) { 
    var filteredList = angular.copy(originalArray); 

    filteredList = filteredList.filter(function(item){ 
     return item.name === name 
    } 

    return filteredList 
} 
です

私の質問は、私はこの機能を実装する正しい方法を使用していますか?ユーザーがsearchボタンを10000回クリックしたとします。私はoriginalArrayの10000のコピーを持っていますか?

+2

これはまったくコピーする必要はありません。 'filter'を使うと新しい配列が得られます。 – str

+1

元の配列でangular.copyを使用する必要はありません。 .filter()は新しいものを返します。 – Eric

+0

答えとしてコメントを書く – Rachmaninoff

答えて

1

strコメント - アレイをコピーする必要はありません。filterは、適切な項目だけを含む新しい配列を返します。

あなたはngFilterを見てください。そこには例があり、あなたが探しているものはとても楽に見えます。フィルタが戻るだけの配列、代わりに、あなたがビューからこれをやっている場合は、これを行うためのより良い方法があると述べたangular.copy

function filterList(filterName, filterNumber) { 
    return originalArray.filter(function(item){ 
     return item.name === name 
    } 
} 

を使用する必要はありません使用など

関連する問題