我在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”作为对象的关键,我怎么能实现这个呢?
答案 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提到的......用整数作为数组的键...数组的长度不同....