簡體   English   中英

如何將數組對象變成對象?

[英]How can I turn an array object into an object?

我想將一個名為 hello 的數組對象放入一個名為 answer 的常量中。 這時候想把answer的key值改成hello的value key,把answer的值改成hello的label值。

我怎樣才能做到這一點? 我在想對象條目,但我不能這樣做....有可能嗎?

這是我的代碼

const hello = [
{ label: 'one', value: 'Tangerinefeed' },
{ label: 'two', value: 'dryexamfeed' },
{ label: 'three', value: 'wetfeed' },
{ label: 'forth', value: 'sawdust' },
{ label: 'five', value: 'etc' },
] ;

預期答案

const answer = {Tangerinefeed: 'one', dryexamfeed: 'two', wetfeed: 'three', sawdust: 'forth', etc: 'five'}

你可以使用reduce來實現它

 const hello = [ { label: 'one', value: 'Tangerinefeed' }, { label: 'two', value: 'dryexamfeed' }, { label: 'three', value: 'wetfeed' }, { label: 'forth', value: 'sawdust' }, { label: 'five', value: 'etc' }, ] ; const finalResult = hello.reduce((result, item) => { result[item.value] = item.label return result }, {}) console.log(finalResult)

您可以使用 forEach 方法來做到這一點。

const hello = [
{ label: 'one', value: 'Tangerinefeed' },
{ label: 'two', value: 'dryexamfeed' },
{ label: 'three', value: 'wetfeed' },
{ label: 'forth', value: 'sawdust' },
{ label: 'five', value: 'etc' },
] ;

const answer = {};

hello.forEach(a=>{ answer[a.value]=a.label})

console.log(answer);

我會使用減少..例如:

const answer = hello.reduce((prev, cur) => {
  prev[cur.value] = cur.label;
  return prev;
}, {});

你用過map嗎? 希望它可以幫助你。 謝謝你。

 const hello = [ { label: 'one', value: 'Tangerinefeed' }, { label: 'two', value: 'dryexamfeed' }, { label: 'three', value: 'wetfeed' }, { label: 'forth', value: 'sawdust' }, { label: 'five', value: 'etc' }, ] let answer = {}; hello.map(h => { answer[h.value] = h.label; return true; }); console.log(answer);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM