如何在JavaScript中使用map方法将JSON对象映射为数组列表
解决方案:用map方法提取股票数据数组
嗨,这事儿用map方法完全能轻松实现,刚好匹配你的需求!
直接上代码,一看就懂:
var history = [ { date: '12/1/2011', open: 3, high: 5, low: 2, close:4 }, { date: '12/2/2011', open: 4, high: 6, low: 3, close:5 }, { date: '12/3/2011', open: 3, high: 5, low: 2, close:3 } ]; // 使用普通函数的map写法 var stockData = history.map(function(item) { // 提取每个对象里的四个股票数据,组成新数组返回 return [item.open, item.high, item.low, item.close]; }); console.log(stockData); // 输出结果正好是你要的:[[3,5,2,4], [4,6,3,5], [3,5,2,3]]
如果你的项目环境支持ES6+语法,还可以用更简洁的箭头函数写法:
const stockData = history.map(item => [item.open, item.high, item.low, item.close]);
简单解释下原理:
map方法的作用就是遍历数组的每一项,对每一项执行你定义的回调函数,然后把回调函数返回的结果收集成一个新数组。这里我们就是对每个历史数据对象,提取出open、high、low、close这四个值,拼成新数组返回,最终就得到了你需要的二维数组啦。
内容的提问来源于stack exchange,提问作者joenpc npcsolution
相关产品推荐
相关产品推荐

