将JS对象转换为对象数组

huangapple go评论98阅读模式
英文:

convert JS object to Object Array

问题

I have an array of objects as below:

  1. [
  2. {
  3. Instance: 'USM 1',
  4. performance: '<DanPac_A>.<Daniel.DanOPCHub>.<A Session.Perfomance>',
  5. agc: '<DanPac_A>.<Daniel.DanOPCHub>.<A Session.AGC>',
  6. snr: '<DanPac_A>.<Daniel.DanOPCHub>.<A Session.SNR>',
  7. sos: '<DanPac_A>.<Daniel.DanOPCHub>.<A Session.SNR>',
  8. flowvel: '<DanPac_A>.<Daniel.DanOPCHub>.<A Session.SNR>',
  9. },
  10. ];

I need to take Instance out as a key and use its value as a property instead.

Expected output:

  1. [
  2. {
  3. 'USM 1': [
  4. {
  5. performance: 'value',
  6. agc: 'value',
  7. // ...
  8. },
  9. ],
  10. },
  11. ];

Any idea how to take it out?

英文:

I have an array of objects as below

  1. [
  2. {
  3. Instance: &#39;USM 1&#39;,
  4. performance:
  5. &#39;&amp;lt;DanPac_A&amp;gt;.&amp;lt;Daniel.DanOPCHub&amp;gt;.&amp;lt;A Session.Perfomance&amp;gt;&#39;,
  6. agc: &#39;&amp;lt;DanPac_A&amp;gt;.&amp;lt;Daniel.DanOPCHub&amp;gt;.&amp;lt;A Session.AGC&amp;gt;&#39;,
  7. snr: &#39;&amp;lt;DanPac_A&amp;gt;.&amp;lt;Daniel.DanOPCHub&amp;gt;.&amp;lt;A Session.SNR&amp;gt;&#39;,
  8. sos: &#39;&amp;lt;DanPac_A&amp;gt;.&amp;lt;Daniel.DanOPCHub&amp;gt;.&amp;lt;A Session.SNR&amp;gt;&#39;,
  9. flowvel: &#39;&amp;lt;DanPac_A&amp;gt;.&amp;lt;Daniel.DanOPCHub&amp;gt;.&amp;lt;A Session.SNR&amp;gt;&#39;,
  10. },
  11. ];

I need to take Instance out as a key and use its value as a property instead.

expected output

  1. [
  2. {
  3. &#39;USM 1&#39;: [
  4. {
  5. performance: &#39;value&#39;,
  6. agc: &#39;value&#39;,
  7. // ...
  8. },
  9. ],
  10. },
  11. ];

any idea how to take it out??

答案1

得分: 0

你可以使用 Array::map() 方法:

  1. const arr = [{
  2. "Instance": "USM 1",
  3. "performance": "&lt;DanPac_A&gt;.&lt;Daniel.DanOPCHub&gt;.&lt;A Session.Perfomance&gt;",
  4. "agc": "&lt;DanPac_A&gt;.&lt;Daniel.DanOPCHub&gt;.&lt;A Session.AGC&gt;",
  5. "snr": "&lt;DanPac_A&gt;.&lt;Daniel.DanOPCHub&gt;.&lt;A Session.SNR&gt;",
  6. "sos": "&lt;DanPac_A&gt;.&lt;Daniel.DanOPCHub&gt;.&lt;A Session.SNR&gt;",
  7. "flowvel": "&lt;DanPac_A&gt;.&lt;Daniel.DanOPCHub&gt;.&lt;A Session.SNR&gt;"
  8. }];
  9. const mapped = arr.map(({Instance, ...item}) => ({[Instance]: [item]}));
  10. console.log(mapped);
英文:

You could use Array::map():

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-js -->

  1. const arr = [{
  2. &quot;Instance&quot;: &quot;USM 1&quot;,
  3. &quot;performance&quot;: &quot;&amp;lt;DanPac_A&amp;gt;.&amp;lt;Daniel.DanOPCHub&amp;gt;.&amp;lt;A Session.Perfomance&amp;gt;&quot;,
  4. &quot;agc&quot;: &quot;&amp;lt;DanPac_A&amp;gt;.&amp;lt;Daniel.DanOPCHub&amp;gt;.&amp;lt;A Session.AGC&amp;gt;&quot;,
  5. &quot;snr&quot;: &quot;&amp;lt;DanPac_A&amp;gt;.&amp;lt;Daniel.DanOPCHub&amp;gt;.&amp;lt;A Session.SNR&amp;gt;&quot;,
  6. &quot;sos&quot;: &quot;&amp;lt;DanPac_A&amp;gt;.&amp;lt;Daniel.DanOPCHub&amp;gt;.&amp;lt;A Session.SNR&amp;gt;&quot;,
  7. &quot;flowvel&quot;: &quot;&amp;lt;DanPac_A&amp;gt;.&amp;lt;Daniel.DanOPCHub&amp;gt;.&amp;lt;A Session.SNR&amp;gt;&quot;
  8. }];
  9. const mapped = arr.map(({Instance, ...item}) =&gt; ({[Instance]: [item]}));
  10. console.log(mapped);

<!-- end snippet -->

huangapple
  • 本文由 发表于 2023年6月8日 06:37:17
  • 转载请务必保留本文链接:https://go.coder-hub.com/76427504.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定