更新JavaScript对象属性值,推送到数组,然后设置回原始值

时间:2017-11-02 23:58:53

标签: javascript angularjs arrays javascript-objects

我正在尝试更新Javascript对象值,以便我可以将其推送到新数组进行过滤,但是我需要将对象的属性值重置为原始值,以便用户删除过滤器(用户)可以打开和关闭它)。我已经尝试过在stackoverflow上看到的所有内容,似乎没有任何工作。我试过了:

if (ctrl.dataArray.indexOf(row) === -1) {
    var rowCopy = JSON.parse(JSON.stringify(row));
    row.$$treeLevel = 0;
    ctrl.dataArray.push(row);
    row.$$treeLevel = rowCopy.$$treeLevel;
}

我也试过了:

if (ctrl.dataArray.indexOf(row) === -1) {
    var rowCopy = angular.copy(row);
    row.$$treeLevel = 0;
    ctrl.dataArray.push(row);
    row.$$treeLevel = rowCopy.$$treeLevel;
}

我实际上是在尝试更新网格行以显示符合特定条件的网格,然后在过滤器之后将网格设置回原始状态。我知道在我推入数组后,dataArray正在使用“originalCopy”值进行更新。但是我怎样才能防止这种情况发生?

我必须按原始行,以便用户可以更新它,然后重置过滤器并保留更新的网格单元格值以进行保存。

如何使上述代码有效?

0 个答案:

没有答案