从现有阵列创建一个新阵列

Ked*_*ave 0 javascript reactjs react-native

我有一个像这样的现有数组

"activeSubject": [
        {
            "subject_id": "Class Teacher",
            "subject_name": "Class Teacher",
            "status": "2"
        },
        {
            "subject_id": "Academic Leader (Head)",
            "subject_name": "Academic Leader (Head)",
            "status": "2"
        },
        {
            "subject_id": "15",
            "subject_name": "Physics",
            "status": "2"
        }
    ]
Run Code Online (Sandbox Code Playgroud)

然后我想创建一个看起来像这样的新数组

"new_subjects": [
        {
            "value": "Class Teacher",
        },
        {
            "value": "Academic Leader (Head)",
        },
        {
            "value": "Physics",
        }
    ]
Run Code Online (Sandbox Code Playgroud)

我已经通过map()方法尝试了这个

var objA = this.state.activeSubject.map(o => ({
          [o]: { value: o.subject_name}
        }))
Run Code Online (Sandbox Code Playgroud)

但它没有给出正确的数组,请帮我解决这个问题

sja*_*han 5

你的map语法很奇怪,我不知道你试图做什么,但这应该足够了;)

this.state = {"activeSubject": [
    {
        "subject_id": "Class Teacher",
        "subject_name": "Class Teacher",
        "status": "2"
    },
    {
        "subject_id": "Academic Leader (Head)",
        "subject_name": "Academic Leader (Head)",
        "status": "2"
    },
    {
        "subject_id": "15",
        "subject_name": "Physics",
        "status": "2"
    }
]};

var objA = this.state.activeSubject.map(o => ({ value: o.subject_name}));
console.log(objA);
Run Code Online (Sandbox Code Playgroud)