我是javascript的新手,现在正在学习破坏。 我试图实现的(在控制台中显示)是这样的:
名字:迈克·史密斯,父亲:哈里·史密斯
名字:汤姆·琼斯,父亲:理查德·琼斯
我收到一条错误消息,没有定义n,但它应该是ok的? 下面是我一直在做的代码:
null
const people = [
{
name: 'Mike Smith',
family: {
mother: 'Jane Smith',
father: 'Harry Smith',
sister: 'Samantha Smith'
},
age: 35
},
{
name: 'Tom Jones',
family: {
mother: 'Norah Jones',
father: 'Richard Jones',
brother: 'Howard Jones'
},
age: 25
}
];
const kalle= people.map(( {name: n, family: {father: f}})=> {
return [n,f]
});
console.log('Name: ' + n + ', Father: ' + f);
// "Name: Mike Smith, Father: Harry Smith"
// "Name: Tom Jones, Father: Richard Jones"
null
n
和f
在函数之外,这意味着您不能访问它们,而是在数组上循环。
销毁对象不需要键,除非值也是对象。
null
const people = [
{
name: 'Mike Smith',
family: {
mother: 'Jane Smith',
father: 'Harry Smith',
sister: 'Samantha Smith'
},
age: 35
},
{
name: 'Tom Jones',
family: {
mother: 'Norah Jones',
father: 'Richard Jones',
brother: 'Howard Jones'
},
age: 25
}
];
// Returns an array
const persons = people.map(({name, family: {father}})=> {
return [name, father];
});
// Log each person
persons.forEach(([name, father]) => {
console.log(`Name: ${name}, Father: ${father}`);
});
// "Name: Mike Smith, Father: Harry Smith"
// "Name: Tom Jones, Father: Richard Jones"