简体   繁体   English

解构对象数组变得不确定

[英]Destructuring of an array of objects getting undefined

I have tried to destructure the Array object, getting undefined. 我试图解构Array对象,变得不确定。

 var menus = [{
   food: "pizza",
   drink: "coke"
 }, {
   food: "burger",
   drink: "pepsi"
 }, {
   food: "sandwitch",
   drink: "coke"
 }, {
   food: "popcorn",
   drink: "coke"
 }];

 var {
   food: team,
   drink: sports
 } = menus;

 console.log({
   team
 });

Output: team is undefined. 输出:团队未定义。

It seems like a syntax issue. 似乎是语法问题。

You need to destructure an object inside the array. 您需要在数组内部分解对象。

You can use array destructuring with object destructuring (the 1st item in this case): 您可以将数组解构与对象解构一起使用(在这种情况下为第一项):

 const menus = [{"food":"pizza","drink":"coke"},{"food":"burger","drink":"pepsi"},{"food":"sandwitch","drink":"coke"},{"food":"popcorn","drink":"coke"}]; const [{ food:team,drink:sports }] = menus; console.log({team}); 

Or destructure a specific object in the array: 或分解数组中的特定对象:

 const menus = [{"food":"pizza","drink":"coke"},{"food":"burger","drink":"pepsi"},{"food":"sandwitch","drink":"coke"},{"food":"popcorn","drink":"coke"}]; const { food:team,drink:sports } = menus[2]; console.log({team}); 

To get all values to a new array use Array.map() : 要将所有值获取到新数组,请使用Array.map()

 const menus = [{"food":"pizza","drink":"coke"},{"food":"burger","drink":"pepsi"},{"food":"sandwitch","drink":"coke"},{"food":"popcorn","drink":"coke"}]; const teams = menus.map(({ food: team }) => ({ team })); console.log(teams); 

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

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