访问循环javascript之外的变量

访问循环javascript之外的变量,javascript,reactjs,loops,Javascript,Reactjs,Loops,我有这个循环,我想访问循环外的用户名 for (var i = 0; i < this.props.tourists.length; i++) { var username = (this.props.tourists[i].id == this.props.chat.sender) ? this.props.tourists[i].nom : "" console.log(username, "userName") } for(var i=0;i

我有这个循环,我想访问循环外的用户名

for (var i = 0; i < this.props.tourists.length; i++) {
  var username = (this.props.tourists[i].id == this.props.chat.sender) ? this.props.tourists[i].nom : ""
  console.log(username, "userName")
}
for(var i=0;i
怎么做?

你可以这样做

let username = ''
for (var i = 0; i < this.props.tourists.length; i++) {
  username = (this.props.tourists[i].id == this.props.chat.sender)? this.props.tourists[i].nom : ""
  console.log(username, "userName")
}
// Can access username
让用户名=“”
for(var i=0;i

您可以访问外部的用户名

您可以找到用户名,但不包括:

    const username = (this.props.tourists.find(t=>t.id === this.props.chat.sender) || {}).nom
    console.log('username=', username)

使用
var
声明的变量被提升。它可用?你是说你在循环外部有
username
并想在循环内部访问它,还是想在循环外部使用定义在循环内部的
username
变量?@VLAZ我想在循环外部使用定义在循环内部的username变量,那么你应该可以<代码>变量
不存在于块作用域中,它将在
for
循环外部可访问,循环完成后,它将具有分配给它的最后一个值。@使用
变量
声明的循环外部的Rajesh用户名为空将被提升。因此,您的更改没有任何意义从未见过如此奇怪的语法
let或var username=“”
,您将得到一个语法错误。实际上,我想描述一下use let username=''