0

文字列キーと JavaScript オブジェクトのいくつかのキーと値のペアで構成される JavaScript オブジェクトがあるとします。

var obList = { key:{..}, key2:{..}, key3:{..}, ... }

そして、新しいセットobList2を構築します

var obList2 = { key:{..}, key2:{..}, key3:{..}, ... }

obList2に基づいてobListを変更する関数を書きたいです。私が問題を抱えている最初のステップは、obList2 に存在しないキーを持つ obList 内のすべてのオブジェクトを削除することです。これについての考え/実装は非常に役立ちます。ありがとうございました!

4

2 に答える 2

1

ループを使用してオブジェクトをfor .. inループし、を使用してプロパティが存在するかどうかを確認できますObject.hasOwnProperty()

例:

for (var prop in obList) {
    if (obList.hasOwnProperty(prop) && !obList2.hasOwnProperty(prop)) {
        delete obList[prop];
    }
}

最初の条件は、変更に対する保護手段でObject.prototypeあり、2番目の条件は、プロパティが2番目のオブジェクトに存在しないかどうかを確認するためのチェックです。

于 2012-08-01T01:56:23.423 に答える
0

コードの基本要素:特定のキーがオブジェクトから欠落しているかどうかをチェックする機能。これがあなたがそれをする方法です:

if (window.bla === undefined) { 
  console.log("Key bla is missing!")
}
于 2012-08-01T01:56:50.907 に答える