的我有一個程序,推值轉換成一個數據結構是這樣的:如何聲明一個散列/字典陣列
if(symbolType == "C" || symbolType == "P") // The calls and puts
stocks.push({
symbol: symbol,
undsymbol: undSymbol,
open: 0,
type: symbolType,
expiry: expiry,
days: days,
strike: strike
});
}
else // The stock
{
stocks.push({
symbol: symbol,
open: 0,
type: symbolType
});
}
因此,這是關鍵所在:不是一個字符串!其中
{
symbol: symbol,
open: 0,
type: symbolType
}
,值很多是這樣的:
{
symbol: symbol,
undsymbol: undSymbol,
open: 0,
type: symbolType,
expiry: expiry,
days: days,
strike: strike
}
的問題是,股票和看漲和看跌期權被放進一個集合。相反,我想添加股票及其相應的調用,並放入字典/地圖中,股票是關鍵字,並且調用和放入被壓入由其股票索引的數組中。
最後,我想能夠迭代並獲取鍵和值。
- 我如何聲明這個對象
- 索引,看看是否的關鍵[股票]已經存在,如果它不與空數組添加。
- 如果我得到一個「C」或「P」,我想得到相應的數組來保存這個鍵[stock]的Calls/Puts,並將這個call/put放到數組中。
起初我還以爲該聲明是這樣的:
var stockCallsPutDict = {[]}
stockCallsPutDict[stock] = [];
stockCallsPut[stock].push(call);
// Pretty print the dict of keys and its options =
stockCallsPutDict.forEach(function kvp) {
...
}
你有這樣的樣本數據嗎? – Pango
爲什麼不使用'Map'? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map –
Pango - 正在從一個字符串中分析數據,看起來像對象的外觀。這只是一個字符串。所以股票字符串是「IBM,」U「。對於一個選項,它是」IBM,C「,20170317,34,140」 – Ivan