我想将索引附加到json对象的末尾,该对象将从' 1'开始。如果' seq'是1,如下例所示。
我当前的代码只是迭代而+1而没有检查' 1'的后续条件。
for (var i = 1; i <= $scope.myDataset.length; i++) { $scope.myDataset[i - 1].index = i; }
这就是我想要的。在为其附加索引之后。
$scope.myDataset = [
{
seq: '1',
index: '1',
},
{
seq: '2',
index: '1',
},
{
seq: '3',
index: '1',
},
{
seq: '4',
index: '1',
},
{
seq: '1',
index: '2',
},
{
seq: '2',
index: '2',
},
{
seq: '3',
index: '2',
},
];
答案 0 :(得分:1)
可以试试这个:
var cnt = 0;
for (var i = 0; i < $scope.myDataset.length; i++) {
if ($scope.myDataset[i].seq === '1') cnt++;
$scope.myDataset[i].index = cnt;
}
答案 1 :(得分:0)
使用if语句检查此seq值是否为1,以便将索引添加到其中,或者如果未将index设置为0。
FK's
答案 2 :(得分:0)
您可以使用forEach
循环对象并有条件地设置index
属性:
var $scope = {},
i = 0;
$scope.myDataset = [{
seq: '1'
},
{
seq: '2'
},
{
seq: '3'
},
{
seq: '4'
},
{
seq: '1'
},
{
seq: '2'
},
{
seq: '3'
},
];
$scope.myDataset.forEach(function(elt) {
elt.index = (elt.seq === '1') ? ++i : i;
});
console.log($scope.myDataset);
&#13;