微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

解构嵌套在对象数组中的每个对象的特定属性

如何解决解构嵌套在对象数组中的每个对象的特定属性

我想知道我是否可以解构这个对象数组

 const course = {
        id: 1,name: 'Half Stack application development',parts: [
            {
                name: 'Fundamentals of React',exercises: 10,id: 1
            },{
                name: 'Using props to pass data',exercises: 7,id: 2
            },{
                name: 'State of a component',exercises: 14,id: 3
            },]
    }

并将属性 exercises 保存在一个变量中,我不知道我们是否会这样做,只是想知道我们如何以及是否可以在对象数组中解构对象属性

@ggrlen 这是数组

const arr = [{
    name: 'State of a component',id: 3
}];

我想销毁这个数组中的对象,将 exercises 属性的值提取一个变量中,谢谢回复 btw。

解决方法

将我的评论转化为答案以说明各种解构模式:

const course = {
  id: 1,name: 'Half Stack application development',parts: [
    {
      name: 'Fundamentals of React',exercises: 10,id: 1
    },{
      name: 'Using props to pass data',exercises: 7,id: 2
    },{
      name: 'State of a component',exercises: 14,id: 3
    },]
};

console.log(course.parts.map(e => e.exercises));
console.log(course.parts.map(({exercises: e}) => e)); // rename to `e`

let {parts: [{exercises}]} = course; // extract nested property
console.log(exercises); // 10

({parts: [,{exercises}]} = course); // second elem
console.log(exercises); // 7

({parts: [,{exercises}]} = course); // third elem
console.log(exercises); // 14

const arr = [
  {
    name: 'State of a component',id: 3
  },{
    name: 'State of a component',exercises: 1422,id: 3
  }
];

const [{exercises}] = arr;
console.log(exercises); // 14

let [,...rest] = arr; // extract everything after the first
console.log(rest);

// from second elem,extract `exercises` as `ex`,// extract object properties other than `exercises` as `others`
const [,{exercises: ex,...others}] = arr;
console.log(ex); // 1422
console.log(others);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。