设置对象数组键

时间:2013-09-24 10:11:51

标签: javascript jquery

我在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”作为对象的关键,我怎么能实现这个呢?

1 个答案:

答案 0 :(得分:1)

这应该有效

 $("li.user_task").each(function() {
  tasks[$(this).data("taskid")]=({
     taskid: $(this).data("taskid"),
     productid: $(this).data("product-id"),
     productposition: $(this).data("product-position")
 });
});

除非,您的taskid不是唯一的。

和是@Bernhard提到的......用整数作为数组的键...数组的长度不同....