Javascript Angularjs-ng重复生成空元素
我有一个数组,它的键顺序不正确,比如Javascript Angularjs-ng重复生成空元素,javascript,angularjs,Javascript,Angularjs,我有一个数组,它的键顺序不正确,比如 1: Array[1] 2: Array[2] 4: Array[3] 7: Array[14] 21: Array[1] 22: Array[1] 23: Array[1] 因此,当我使用ng repeat进行迭代时,将为不存在的键值生成空元素和 因此,这里它将为键1和2生成元素,由于没有键3,它将在那里生成一个空div。生成4.3个空元素后也会发生同样的情况。如何修复此问题?您可以通过创建一个具有正确值的新数组来修复数组,也可以在视图中添加一个NOT
1: Array[1]
2: Array[2]
4: Array[3]
7: Array[14]
21: Array[1]
22: Array[1]
23: Array[1]
因此,当我使用ng repeat
进行迭代时,将为不存在的键值生成空元素和
因此,这里它将为键1和2生成元素,由于没有键3,它将在那里生成一个空div。生成4.3个空元素后也会发生同样的情况。如何修复此问题?您可以通过创建一个具有正确值的新数组来修复数组,也可以在视图中添加一个NOTNULL或undefined检查 修复阵列
var myArray = [[1], [1,2], null, [1,2,3]];
var newArray = [];
angular.forEach(function (myArray, function (a) {
if (a & a.length) {
newArray.push(a);
}
})l;
现在可以使用新阵列渲染视图
或者在视图中修复
<div ng-repeat="item in myArray">
<div ng-if="item !== null && item !== undefined">
</div>
</div>
为什么不使用对象
"array":[
{"key":"1", "content":[]},
{"key":"2", "content":[]},
{"key":"5", "content":[]},
{"key":"3", "content":[]}
]
请发布一些代码或创建JSFiddle。您的意思是“缺少”位置为空吗?问题在于数组生成(您正在创建稀疏数组,可能是使用arr[index]=value而不是arr.push设置值),您能否显示该代码段。尝试在源代码处修复,而不是在源代码周围工作。如果不查看数组,则很难理解您想要什么,例如字典。