簡體   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