如何从finances数组元素中提取月份与数值并创建独立变量?
将数组拆分为月份和数值独立变量
可以通过以下几种常用方法,把finances数组中的月份和对应数值分别存入独立变量:
方法1:forEach遍历拆分
这种方法逻辑直观,适合新手理解:
var finances = [['Jan-1999', 867886],['Feb-1999', 984653],['Mar-1999', 322012],['Apr-1999', -69417],['May-1999', 310503],['Jun-1999', 522857],['Jul-1999', 1033096],['Aug-1999', 604885],['Sep-1999', -216386],['Oct-1999', 477532],['Nov-1999', 893810]]; // 初始化空数组存储月份和数值 const months = []; const values = []; // 遍历原数组,将每个子数组的元素分别推入对应数组 finances.forEach(item => { months.push(item[0]); values.push(item[1]); }); // 查看结果 console.log(months); // 输出所有月份字符串 console.log(values); // 输出对应的数值
方法2:map方法简洁生成
map方法可以直接返回目标元素组成的数组,代码更简洁:
var finances = [['Jan-1999', 867886],['Feb-1999', 984653],['Mar-1999', 322012],['Apr-1999', -69417],['May-1999', 310503],['Jun-1999', 522857],['Jul-1999', 1033096],['Aug-1999', 604885],['Sep-1999', -216386],['Oct-1999', 477532],['Nov-1999', 893810]]; // 直接生成月份和数值数组 const months = finances.map(item => item[0]); const values = finances.map(item => item[1]); console.log(months); console.log(values);
方法3:reduce一次遍历完成
如果数组数据量较大,用reduce可以只遍历一次就完成拆分,提升效率:
var finances = [['Jan-1999', 867886],['Feb-1999', 984653],['Mar-1999', 322012],['Apr-1999', -69417],['May-1999', 310503],['Jun-1999', 522857],['Jul-1999', 1033096],['Aug-1999', 604885],['Sep-1999', -216386],['Oct-1999', 477532],['Nov-1999', 893810]]; // 一次遍历拆分出月份和数值数组 const { months, values } = finances.reduce((acc, [month, value]) => { acc.months.push(month); acc.values.push(value); return acc; }, { months: [], values: [] }); console.log(months); console.log(values);
内容的提问来源于stack exchange,提问作者dre86dre
相关产品推荐
相关产品推荐

