的我有一个程序,推值转换成一个数据结构是这样的:如何声明一个散列/字典阵列
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