如何将键值元组数组转换为对象

2023-12-25

我有一个数组:

[ [ 'cardType', 'iDEBIT' ],
  [ 'txnAmount', '17.64' ],
  [ 'txnId', '20181' ],
  [ 'txnType', 'Purchase' ],
  [ 'txnDate', '2015/08/13 21:50:04' ],
  [ 'respCode', '0' ],
  [ 'isoCode', '0' ],
  [ 'authCode', '' ],
  [ 'acquirerInvoice', '0' ],
  [ 'message', '' ],
  [ 'isComplete', 'true' ],
  [ 'isTimeout', 'false' ] ]

但我无法通过数组的键访问数据,例如arr['txnId']不返回20181。如何将上面的元组数组转换为对象,以便我可以轻松地通过键访问数据。


As 巴奥笔记 https://stackoverflow.com/a/32002226/120290,自 2019 年起您可以使用Object.fromEntries(arr) (docs https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/fromEntries)在所有现代浏览器上执行此操作:

var arr = [['cardType', 'iDEBIT'],
  ['txnAmount', '17.64'],
  ['txnId', '20181']];

console.log(Object.fromEntries(arr));

如果这不可用,我之前的解决方案是映射到键值对象数组并通过以下方式组合对象传播 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax into 对象.分配 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign:

Object.assign(...arr.map(([key, val]) => ({[key]: val})))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将键值元组数组转换为对象 的相关文章

随机推荐