我想要向JS对象添加类似于push
到数组的方式。 我知道你不能push
一个对象。所以我想找到另一个解决方案。这是完成分页的一种时髦的解决方法。
$scope.showMore = function() {
$rootScope.resultsObject = parseResults($rootScope.keywordData, $rootScope.limit);
}
这是我遇到问题的代码行。
parseResults()
正在使用我的keywordData
,并将其转换为巨型字符串的列。
调用showMore()
时,会在resultsObject
上分配,从而删除前两行数据。我宁愿让它再添加2行。
以前尝试解决此问题涉及保持resultsObject
中正在运行的数组,然后我会push
更多结果进入该数组&尝试通过parseResults
重新运行它。这没用。它会创建其他列,或将所有数据转储到一个列中。
现在我转向JS专家以寻求更好的解决方案。
我尝试过小提琴,但它无法正常工作。如果您希望查看更多代码,我确实有JSFiddle。请记住,它不起作用。
更新:
也许我的问题出在我的parseResults()
上。让我向您展示解析后对象的实际外观:
resultsObject{
column0: "column1<br>test1"
column1: "column2<br>test2-1"
column2: "column3<br>test3"
column3: "column4<br>test4"
column4: "column5<br>test5"
column5: ""
}
因此,当我追加到resultsObject时,我希望它添加到每个值的字符串中。这怎么可能?
答案 0 :(得分:1)
角度extend方法应该允许您这样做。
var objectAB = { a: 1, b: 2 },
objectCD = { c: 3, d: 4 };
var objectABCD = angular.extend(objectAB, objectCD);
console.log(objectABCD);
// { a: 1, b: 2, c: 3, d: 4 }