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 に答える