Używanie zmiennej dla nazwy właściwości obiektu - JavaScript [duplikat]

To pytanie ma już odpowiedź tutaj:

Jak korzystać z wartości zmiennej przy tworzeniu obiektu w JavaScript [duplikat] 1 odpowiedź

widział kilka związanych z tym odpowiedzi, ale żadna nie odpowiedziała na tę wersję danego pytania.

Zastanów się, co następuje: (linkto: jsfiddle)

$(function(){

arrKeys = [];
objArr = [];

nameArr = ['name1','name2','name3','name4'];
descArr = ['desc1','desc2','desc3','desc4'];
allValues = {name:  nameArr, desc: descArr};

arrKeys[0] = 'name';
arrKeys[1] = 'desc';

    first = arrKeys.shift(); // returns 'name'

    $(allValues[first]).each(function (key,value) { 

        console.log(first); //returns 'name'
        objArr[key] = {first:value}; //the problem

    });

    console.log(objArr);


});

Z konsolą.log (objArr) produkującą następującą tablicę obiektów:

[Object, Object, Object, Object] 0: Objectpierwsz: „name1” 1: Objectpierwsz: „name2” 2: Objectpierwsz: „name3” 3: Objectpierwsz: „name4” długość: 4

Problem polega na tym, że chciałbym, aby właściwość „first” była wartością zmiennej var first (czyli „name”). Zamiast tego wynik byłby następujący:

[Object, Object, Object, Object] 0: Objectimi: „name1” 1: Objectimi: „name2” 2: Objectimi: „name3” 3: Objectimi: „name4” długość: 4

(łączyć z: jsfiddle)

questionAnswers(2)

yourAnswerToTheQuestion