1

2 つの配列があるとします。

{First: [One, Two, Three], Second: [One, Two, Three], Third: [One, Two, Three]}

[First, Third]

ここで、2 番目の配列にない最初の配列のすべてのキーを削除する必要があります。したがって、例のこれら2つを使用すると、次のものが残されます。

{First: [One, Two, Three], Third: [One, Two, Three]}

そのために $.grep を使用しようとしましたが、配列をフィルターとして使用する方法がわかりません。助けが必要です!:)

4

2 に答える 2

3

新しいオブジェクトを作成せずにできる他のことは、プロパティを削除することです

var obj = {First: ["One", "Two", "Three"], Second: ["One", "Two", "Three"], Third: ["One", "Two", "Three"]};
var filter = ["Second", "Third"];


function filterProps(obj, filter) {
  for (prop in obj) {
      if (filter.indexOf(prop) == -1) {
          delete obj[prop];
      } 
  };
  return obj;
};

//Usage: 
obj = filterObject(obj, filter);
于 2013-09-19T12:44:37.080 に答える