从三个数组创建对象

mat*_*tts 0 javascript arrays object

有点卡在以下场景中.我有三个数组,使用数组想创建一个新对象.

var fields = ['firstName', 'lastName', 'email'],
oldVals = ['John', 'Doe', 'doe@mail.com'],
newVals = ['Jo','Do','jo@mail.com'];
Run Code Online (Sandbox Code Playgroud)

新对象应该是:

{
 "firstName": {
    "oldValue": "John",
    "newValue": "Jo"
 },
 "lastName": {
    "oldValue": "John",
    "newValue": "Do"
 },
 "email": {
    "oldValue": "doe@mail.com",
    "newValue": "jo@mail.com"
 }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Paa*_*rth 6

// first check that your arrays are actually all the same length. Then...

var obj = {};
for(var i=0;i<fields.length;i++) {
    obj[fields[i]] = {
        oldValue: oldVals[i],
        newValue: newVals[i]
    }
}
Run Code Online (Sandbox Code Playgroud)