[英]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.