Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在数组对象内循环_Javascript_Arrays_Loops_Object_Reactjs - Fatal编程技术网

Javascript 在数组对象内循环

Javascript 在数组对象内循环,javascript,arrays,loops,object,reactjs,Javascript,Arrays,Loops,Object,Reactjs,我正在使用并希望通过对象循环以将其表示为select的值和标签: // Inside the component's render: var myVar = [ this.props.foo.forEach(function(a){ {value: a.name, label: a.name} // line 83 }) ]; //return <Select ref="stateSelect" options={myVar} simpleValue clearabl

我正在使用并希望通过对象循环以将其表示为select的值和标签:

// Inside the component's render:

var myVar = [
  this.props.foo.forEach(function(a){
    {value: a.name, label: a.name} // line 83
  })
];

//return

<Select ref="stateSelect" options={myVar} simpleValue clearable={this.state.clearable}
  name=""
  value={this.state.bar} onChange={this._myFunc} 
/>
使用上述代码,我得到:

分析错误:第83行:意外标记:


我不太擅长用JavaScript来解决这个问题,但这可能吗?如果要使用
this.props.foo
中的对象数组初始化
myVar
,请尝试

var myVar = this.props.foo.map(function(a){
    return {value: a.name, label: a.name} ;
});

如果要使用
this.props.foo
中的对象数组初始化
myVar
,请尝试

var myVar = this.props.foo.map(function(a){
    return {value: a.name, label: a.name} ;
});

最好的方法是在渲染fct中循环,如下所示:

var myVar = [
  {value: "hello", label: "world"},
  // the list goes on
];
render (){
 return (
  <div>
   <Select
     ref="stateSelect"
     options={
      this.props.foo.map( (a) => {name: a.name, label: a.name} )
     }
     simpleValue
     clearable={this.state.clearable}
     name=""
     value={this.state.bar}
     onChange={this._myFunc} 
   />
  </div>);
}
render(){
返回(
{name:a.name,label:a.name})
}
简单值
clearable={this.state.clearable}
name=“”
值={this.state.bar}
onChange={this.\u myFunc}
/>
);
}

最好的是循环渲染fct,如下所示:

var myVar = [
  {value: "hello", label: "world"},
  // the list goes on
];
render (){
 return (
  <div>
   <Select
     ref="stateSelect"
     options={
      this.props.foo.map( (a) => {name: a.name, label: a.name} )
     }
     simpleValue
     clearable={this.state.clearable}
     name=""
     value={this.state.bar}
     onChange={this._myFunc} 
   />
  </div>);
}
render(){
返回(
{name:a.name,label:a.name})
}
简单值
clearable={this.state.clearable}
name=“”
值={this.state.bar}
onChange={this.\u myFunc}
/>
);
}

{…}
在这里被视为块。可能您需要
someObj={value:a.name,label:a.name}
{…}
在这里被视为块。可能您需要
someObj={value:a.name,label:a.name}
失败的propType:Invalid prop
option
类型
array
提供给
option
,应为
对象。检查
Select
@Sylar的呈现方法是否仍然得到
解析错误:第83行:意外标记:
?您希望从该语句中得到什么输出?在我的第一条注释中得到错误。在我的问题中,
列表的位置继续,
就是这样,但我需要数组中的值和标签。@Sylar你能分享一把小提琴吗?对不起!我把你的答案包装在里面:
var myVar=[//你的答案]
它是有效的。ThanksFailed propType:提供给
option
数组类型的
option
无效,应为
对象。检查
Select
@Sylar的呈现方法是否仍然得到
解析错误:第83行:意外标记:
?您希望从该语句中得到什么输出?在我的第一条注释中得到错误。在我的问题中,
列表的位置继续,
就是这样,但我需要数组中的值和标签。@Sylar你能分享一把小提琴吗?对不起!我把你的答案包装在里面:
var myVar=[//你的答案]
它是有效的。这是es6吗?“胖箭”?可能在其他项目中有用。是的,es6和jsx。您可以在es5映射中使用(函数(a){return{name:a.name,label:a.name}})这是es6吗?“胖箭”?可能在其他项目中有用。是的,es6和jsx。您可以在es5映射中使用(函数(a){return{name:a.name,label:a.name})