Если вы хотите, чтобы конечный массив выглядел следующим образом:
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
Тогда в вашей существующей функции вам просто нужно сказать:
topics.push(val);
Если ваше намерение предназначено дляпоследний массив должен выглядеть следующим образом:
[ "one", "two", "three", "four" /* etc */ ]
Затем в существующей функции вам просто нужно сказать:
topics.push(i);
Если вы хотите, чтобы последний массив выглядел так:
[ { one : 1 }, { two : 2 }, { three : 3 } /* and so forth */ ]
Тогда вы бы сделали это так:
$.each(obj, function(i, val) {
var item = {};
item[i] = val;
topics.push(item);
console.log(val);
});
Нельзя просто сказать:
topics.push( { i : val } );
Поскольку синтаксис литералов объекта JS неразрешить использование переменных для имен свойств (ключей), хотя это разрешает переменные для значений свойств, поэтому { i : val }
создает объект с одним свойством, называемым "i".
В вашем коде, если count
переменная, которую вы использовали бы, как я показал выше, то есть:
item[count] = val;
Если "count" - это фактическая строка, для которой вы хотите, чтобы свойство вызывалось, тогда ваш код будет работать как есть.