我现在,需要清空比如数组$scope.checkbox=[];
然后,把$scope.datas里面的对象的id放到上面的数组去
最后的形式应该是:[2: true, 3: true]这样的。
angular.forEach($scope.datas, function (item) {
// var temp = {};
// temp[item.id] = true;
$scope.checkbox.push(item.id+": true");
console.log($scope.checkbox);
});
很明显,我这样做,是弄成了[“2: true”, “3: true”]这样地,如果是,像注释那样弄,又变成了对象[object,object],不符合要求。
如果把item.id 注入到数组中....?
==========================================
已经解决:
angular.forEach($scope.datas, function (item) {
$scope.checkbox[item.id]=true;
});
首先,题主你并不了解json(可能这就是给你-1票的原因),所以才会问出这个问题,建议先花点时间了解一下json结构,参考资料。
合法的json结构是没有这种表示方式的(可以上这个网站校验一下json),
你这个需求可以考虑以下json结构:
推荐
或
一般
或
不推荐,需二次处理
["2: true", "3: false"]
最后,说说你的解决方法,看起来是解决了问题,但其实属于一种埋雷行为,例如:
item.id不是连续的,[2, 3, 5, 8, ..., 1909]
最终生成的
$scope.checkbox
数组就是这样的,[undefined, 2, 3, undefined, 5, undefined, undefined, 8, undefined..., 1909],就是说中间有若干个undefined填充着这个数组,当你要对这个数组进行操作的时候就可能会踩上这个坑了。