【发布时间】:2015-01-01 16:16:26
【问题描述】:
我从下面的代码中有一个对象输出如何在js中设置索引从0开始?
Object
3: Object
id: 34
type: 0
var obj = {};
var edited = false;
for (var i = 0; i < $(".list").length; i++) {
var data_id = parseInt($(".list").eq(i).attr('data-id'));
var data_type = parseInt($(".list").eq(i).attr('data-type'));
if ((data_type != 0)) {
edited = true;
} else {
edited = false;
}
if (edited == true) {
obj[i] = {};
obj[i]['id'] = data_id;
obj[i]['type'] = data_type;
}
}
console.log(obj);
【问题讨论】:
-
你确定你不想要一个数组代替...?
-
感谢您的回复,我在其他帖子中看到了相同的建议,但我不明白为什么?
-
@AmitJoki 你能解释的更清楚吗?
-
因为如果你使用数组,索引会自动从零开始,你的问题就会得到解决。
-
请注意,您基本上是在艰难地做所有事情。使用
for循环迭代jQuery 集合,多次获取相同的集合并使用eq而不是使用内置的jQuery 方法之一进行迭代和this。使用attr获取数据属性,因为使用data会自动强制类型,而您不需要parseInt,根本不需要它,因为您正在进行非严格测试,然后使用一个变量来设置true/false,然后在下一行使用该变量来设置另一个条件等。
标签: javascript jquery data-structures