如果语句仅保留最后一个值,则嵌套在循环内部

时间:2018-11-30 17:03:53

标签: javascript angular ecmascript-6 closures nested-loops

我在Angular服务中嵌套的for循环遇到最奇怪的问题。我有一个服务,其中正在运行以下d[c( rbind(row.names(d)[c(FALSE, TRUE)], row.names(d)[c(TRUE, FALSE)])),, drop = FALSE] # [,1] #a1 -0.43704092 #a 0.41215035 #e 1.47443155 #d -1.78087570 #f2 -0.01673482 #f 0.98952497 函数,并且数据从该服务返回。

forEach

someArr.forEach(elem => { //do something with elem if(elem['users'].length >= 1) { for (let user of elem['users']) { console.log('>>> ', user['firstName']) elem['userFirstName'] = user['firstName']; elem['userLastName'] = user['lastName']; this.tempArr.push(elem); } } else { this.tempArr.push(elem); } }) 正在从内部for循环中注销正确的名字和姓氏,但是只有最后一个值才被推送到console.log。我认为使用 let 一词可以解决此关闭问题。我在这里想念什么?

1 个答案:

答案 0 :(得分:1)

当您使用input.replace(/\"/g, "") 来创建一个新的对象时,您并不是在推送一个新对象,而是对您随后变异的那个对象的另一个引用。