Javascript 在数组对象内循环
我正在使用并希望通过对象循环以将其表示为select的值和标签: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
// 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 propoption
类型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})