Я строю массив объектов в JS, это моя структура:
$("li.user_task").each(function() {
tasks.push({
taskid: $(this).data("taskid"),
productid: $(this).data("product-id"),
productposition: $(this).data("product-position")
});
});
Это хорошо работает, мой вывод на console.log():
[Object, Object, Object, Object]
0: Object
productid: 2
productposition: 1
taskid: 150
__proto__: Object
1: Object
productid: 1
productposition: 1
taskid: 151
__proto__: Object
2: Object
productid: 2
productposition: 2
taskid: 155
__proto__: Object
3: Object
productid: 1
productposition: 3
taskid: 157
__proto__: Object
length: 4
__proto__: Array[0]
Я не хочу, чтобы мои ключи начинались с 0, хотя в этом примере мне действительно хотелось бы, чтобы поле "taskid" являлось ключом к объекту, как я мог достичь этого?
это должно работать
$("li.user_task").each(function() {
tasks[$(this).data("taskid")]=({
taskid: $(this).data("taskid"),
productid: $(this).data("product-id"),
productposition: $(this).data("product-position")
});
});
если только ваш taskid не уникален.
и да как @Бернхард упомянул... с целыми числами в качестве ключа массива.. длина массива отличается....