我试图破坏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
});
输出:团队未定义。
这似乎是语法问题。
答案 0 :(得分:1)
您需要破坏数组内部的对象。
您可以将数组解构与对象解构一起使用(在本例中为第一项):
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});
或销毁数组中的特定对象:
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});
要将所有值获取到新数组,请使用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);