繁体   English   中英

如何在JavaScript中的多维数组中获取数组的键和值

[英]How to get keys and values of arrays inside Multidimensional array in javascript

我有一个多维数组,例如

MultArrary = [
['a','b'],
['c','d'],
['f','g']
]

我需要的是获取数组内部每个数组的键和值,并将其推入另一个数组

Expected array1 = ['a','c','f'];
expected array2 = ['b','d','g'];

关于如何使用javascript或rxjs实现此目标的任何想法都很棒

在您的情况下,最简单的操作(虽然在语法上不正确,请参阅问题下方的注释)是使用Map (前提是您位于具备ecmascript6功能的环境中):

  var MultiArray = [ ['a', 'b'], ['c', 'd'], ['f', 'g'] ]; var m = new Map(MultiArray); var index0 = Array.from(m.keys()); var index1 = Array.from(m.values()); console.log(index0, index1); 

使用Underscore.js,您可以使用unzip做到这一点:

 var MultArrary = [ ['a', 'b'], ['c', 'd'], ['f', 'g'] ]; var rst = _.unzip(MultArrary); //[['a','c','f'],['b','d','g']] console.log(rst); 
 <script data-require="underscore.js@1.8.3" data-semver="1.8.3" src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script> 

您可以使用一种方法,并将结果构建在一个任务中。

您想要的结果是在pivot[0]pivot[1]

 var multArrary = [['a', 'b'], ['c', 'd'], ['f', 'g']], pivot = multArrary.reduce(function (r, a) { a.forEach(function (b, i) { r[i] = r[i] || []; r[i].push(b); }); return r; }, []); console.log(pivot); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM