0

我正在 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”成为对象的键,我怎么能做到这一点?

4

1 回答 1

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 提到的那样......以整数作为数组的键......数组的长度不同......

于 2013-09-24T10:15:06.513 回答