2017-07-18 5 views
0

私は以下のオブジェクトにjsonデータを含んでいます。どのように私は今だけ「今日」のための「最高」の価格を取得することができますjs(nodeJS)JSONベースのオブジェクト(文字列としての識別子)の解析

highest_price = Infinity; 
for (var item in prices) { 

    if(keys.includes(item)){ 

    console.log(item + " found"); 

    } 
} 

:?私が使用このコードを解析するために

{ 
    "item1": { 
     "2017-07-17": {"price": 67}, 
     "2016-07-16": {"price": 453}, 
     "2016-07-15": {"price": 435}, 
     ... 
    }, 
    "item2": { 
     "2017-07-17": {"price": 642}, 
     "2016-07-16": {"price": 643}, 
     "2016-07-15": {"price": 593}, 
     ... 
    }, 
    ... 
} 

ifステートメントは「関連」アイテムだけを取得するようにしますが、どのようにして「現在の」価格にアクセスし、最後にフィルタリングするすべてのアイテムに対して最高の価格を得ることができるかを確認します。 私の主な問題は、現在の日付プロパティを「取得する」だけです。

私は各項目をループします。この後、項目名が配列内にあるかどうかを確認します。この配列if(keys.includes(item))にあるすべての商品について、「実際の」価格を取得してから、その配列内のすべての商品の最高価格を取得したいと考えています。

答えて

0

以下のコードを使用すると、アイテムの最大値と現在値を見つけることができます。私はこのコードを2回繰り返しているので、さらに最適化できると思います。

デモ:642`:https://jsfiddle.net/vineeshmp/3afz92yr/2/

var prices = { 
    "item1": { 
     "2017-07-17": {"price": 800}, 
     "2016-07-16": {"price": 453}, 
     "2017-07-19": {"price": 10}, 
     "2016-07-15": {"price": 435} 
    }, 
    "item2": { 
     "2017-07-17": {"price": 622}, 
     "2016-07-16": {"price": 643}, 
     "2016-07-15": {"price": 593} 

    } 
}; 
var items = Object.keys(prices); 
var dateprices = {}; 
items.forEach(function(item){ 
    if(keys.includes(item)){ 
     for(var k in prices[item]){ 
     dateprices[k] = dateprices.hasOwnProperty(k)?dateprices[k]:[]; 
     dateprices[k].push(prices[item][k].price);   
     }  
    } 
}) 

Object.entries(dateprices).forEach(function([key, value]){ 
    console.log(key); 
    dateprices[key].sort(function(a,b){ 
    return b - a; 
    }); 
}) 
alert("Highest price on 2017-07-17 is "+dateprices["2017-07-17"][0]) 
+0

私はこの上記の例では、「実際の」日から最高価格を必要とするが、 '最高価格のような出力を意味します。あなたは理解しますか? – seikzer

+0

実際の日付はどういう意味ですか? \ – Vineesh

+0

実際の日付のif条件を使用してフィルタリングしたすべてのアイテムから「最高」の価格(最高のもののみ)を取得する必要があります。上記のexmapleコードの場合、642になります。最新の価格だけをメモしてください。 – seikzer

関連する問題