2016-05-26 2 views
1

非常に基本的な質問、私はキーとAngularJSで、リストや辞書を持って、このような値の構造:クリアリストや辞書Angularjsにおけるキーで、値の構造

$scope.itemList = {} 

このリストは、データでいっぱいにJSONファイルから来て、私がする必要があるのは、このリストをある時点でクリアすることですが、それを行う方法はわかりません。

私は以下を試みましたが、うまくいきませんでした。

$scope.itemList.clear() 

いくつかの助けが素晴らしいでしょう。

注:あるように私は、{}のリストを述べたが、実際には理由 の私が持っているもののオブジェクトである、私は私が行ったように、誰かが間違った 方法で考えることができ、質問を残しておきます。

+2

ちょうどあなたの時間のために '$ scope.itemList = {}' –

+1

おかげで、=)お時間 – kennechu

答えて

2

最初に、{}という変数を宣言することは、オブジェクトがリストでないことを意味します。あなたはこの

$scope.itemList = []; 

のように使用すると、リスト

をクリアする必要があり、リストを宣言するには再び

$scope.itemList = {} 

を使用すると、再定義し、それに持っているオブジェクトをクリアする

は次のように試してみてくださいこの

$scope.itemList.length=0; 

または再度宣言してください。あなたのコードに.clear()方法が必要な場合は、JavaScriptでこの

Array.prototype.clear=function(){ 
    this.length=0; 
} 
$scope.itemList.clear(); 
+0

感謝を設定し、あなたが正しかった、私は「リスト」と述べたが、私は、オブジェクトを使用して、その答えを感謝しています私がどのように私の質問をしたかについての訂正、私は質問にノートを残す。 – kennechu

+1

@kennechu私はあなたがそれを使用することができる拡張メソッドのコンセプトを追加しました。 –

1

同様

を拡張メソッドを作成することができます

$scope.itemList = []; 

、非プリミティブデータ型のため、をクリアし、 新しい空の値に設定すると、動作が大きく異なります。

アレイの例

$scope.itemList = ['A', 'B', 'C']; 
var myArr = $scope.itemList; 

// Setting to a new empty array, 
$scope.itemList = []; 

console.log(myArr); // The value is still ['A', 'B', 'C'] 

オブジェクトの例

$scope.itemList = {'A': 1, 'B': 2}; 
var myObj = $scope.itemList; 

// Setting to a new empty object, 
$scope.itemList = {}; 

console.log(myObj); // The value is still {'A': 1, 'B': 2} 

また、現在$scope.itemListを使用する変数によって、問題を引き起こす可能性が上記の例を考えてみてください。 (あなたが彼らに何が起こるか気にしない場合を除き)

これは本当に明確な配列やオブジェクトへの最善の方法として私の提案です。このようにして

// Clear an array 
$scope.itemList.splice(0, $scope.itemList.length); 

// Clear an object 
for (var prop in $scope.itemList) { 
    if ($scope.itemList.hasOwnProperty(prop)) { 
     delete $scope.itemList[prop]; 
    } 
} 

$scope.itemListからその値を割り当てられたすべての変数は、もクリアされます。そしてこれは良い例として(たとえば、angularJSのコンボボックスの自動入力)です。

+0

あなたの時間とあなたの答えの詳細をありがとう=) – kennechu

+1

@kennechu '$ scope.itemList'はオブジェクトです。私は自分の投稿を更新しました。 – choz

+1

ありがとう、私は本当にあなたの助けとあなたの時間に感謝しています:) – kennechu

関連する問題