2016-11-18 13 views
0

このオブジェクトには、検索オブジェクトの配列を含むjsonというパラメータがあります。配列からのプロパティの抽出

function receiveSearch(search, json) { 
    return { 
     type: RECEIVE_SCHOOL_SEARCH, 
     items: json.packages, 
     receivedAt: Date.now(), 
     search: Object.assign({}, search, { next: json.next, start: search.next }), 
    }; 
} 

マイjson プロパティは、次のようになります。私は、JSONのすなわちnamesuburbからsearchオブジェクト2つのプロパティに戻りたい

>0:Object 
>1:Object 
>2:Object 
>3:Object 
...{ more } 

。これはどうすればいいですか?私はlodash/ramda/underscoreのようなきちんとしたものを使うのが好きですが、普通のjsはうまくいきます。

そして、それぞれのオブジェクトには、次のプロパティが含まれます。

id:"10360" 
centreId:776 
name:"ABBOTSFORD" 
suburb:"TARNEIT" 
+0

あなたは何を試しましたか? – nicovank

答えて

0

回答ははJavaScriptを使用して、あなたの最も簡単な解決策の問題は、唯一の必要なプロパティを含む新しいオブジェクトを作成し、それを返すことができます。

var x = {search:{id:"10360",centreId:776,name:"ABBOTSFORD",suburb:"TARNEIT"},otherProp:val} 

必要なプロパティを取得するには、あなたが別の関数を作成し、必要なフィールドを持つオブジェクトを返すことができます:あなたは上記のコードを置くことができ

function ReturnRequiredPropertyObject(anyObj) 
{ 
    var newObj = {}; 
    newObj.search = {}; 
    newObj.search.name = anyObj.search.name; 
    newObj.search.suburb = anyObj.search.suburb; 
    return newObj; 
} 

はちょうどあなたのJSONは次のようになりますと仮定しますあなたが検索オブジェクトの配列を取得している場合は、ループ内で。

は、上記のコードはジェネリックにするために、我々は次の操作を実行できます。

function ReturnRequiredPropertyObject(anyObj,requiredPropertyArray) 
{ 
    var newObj = {}; 
    for(var counter = 0;counter<requiredPropertyArray.length;counter++) 
    { 
     newObj[requiredPropertyArray[counter]] = anyObj[requiredPropertyArray[counter]]; 

    } 
    return newObj; 
} 

は、これが役立つことを願っています。

0

は、[OK]を解決します。 is

_.map(json,_.partialRight(_.pick,['name','suburb'])); 
関連する問題