2017-02-19 2 views
0
// data => JSON 
Object.keys(data) 

После того как я поместил ключи объекта JSON в массив, я хочу сделать другой объект с этими ключами и нулевыми значениями.Получить ключи JSON для другого объекта с разными значениями

E.g. равнину JSON:

{ 
    "a": "lorem", 
    "b": "ipsum", 
    "c": 
    { 
     "info": 
     { 
      "1": "2", 
      "3": "4" 
     }, 
     "elephant": "bar" 
    }, 
    "d": 
    { 
     "monkeys": "foo", 
     "elephant": "bar: 
    } 
} 

[Я не знаю, ключи во время выполнения] Я хочу, чтобы это:

{ 
    "a": null, 
    "b": null, 
    "c": null, 
    "d": null 
} 

Как я подойти, что?

ответ

2

Вы можете использовать reduce на Object.keys() и вернуть новый объект.

var obj = {"a":"lorem","b":"ipsum","c":{"info":{"1":"2","3":"4"},"elephant":"bar"},"d":{"monkeys":"foo","elephant":"bar"}} 
 

 
var r = Object.keys(obj).reduce(function(r, e) { 
 
    return r[e] = null, r 
 
}, {}) 
 

 
console.log(r)

+0

Хорошо благодарю вас, исправлены все мои проблемы;) –

Смежные вопросы