在Node JS中的Loop中恢复变量

时间:2017-11-01 20:24:52

标签: node.js

我在Node JS代码中尝试了一个逻辑,如下所示: -

var startPersons1 = JSON.parse(JSON.stringify(persons1));
var startPersons2 = JSON.parse(JSON.stringify(persons2));
var startPersons3 = JSON.parse(JSON.stringify(persons3));
var startPersons4 = JSON.parse(JSON.stringify(persons4));

.....
// Operations on persons1, persons2, persons3, persons4 which are changed in methods called here
....

// Now persons1, persons2, persons3, persons4 are modified

// Now, if I wanted persons1, persons2, persons3, persons4 to come to their original state above, ie.
// startPersons1, startPersons2, startPersons3, startPersons4, I am doing something like this

persons1 = JSON.parse(JSON.stringify(startPersons1));
persons2 = JSON.parse(JSON.stringify(startPersons2));
persons3 = JSON.parse(JSON.stringify(startPersons3));
persons4 = JSON.parse(JSON.stringify(startPersons4));

你可以假设这是在一些for循环中。 那么,每次都有更好的方法来恢复。变量的数量可以按批次增加。

1 个答案:

答案 0 :(得分:1)

如果人员1,人员等在数组内,则可以使用地图功能

var persons = [/*array of persons*/]
var newpersons = persons.map(function(person) {
    /*change here your person object and return it.*/
    return person
})
/*here persons is the originalone, newpersone is the new version*/