Javascript 如何将状态对象放入二维数组中?
我想将这些状态对象加载到二维数组中。我需要以以下方式使用它们:Javascript 如何将状态对象放入二维数组中?,javascript,reactjs,Javascript,Reactjs,我想将这些状态对象加载到二维数组中。我需要以以下方式使用它们: [ [ "josie", "ally", "fred" ], [ "edward", "ally", "fred", "goolly" ] ] 我需要这样做,因为我需要一种相对于子列表名称引用子列表的方法 class App extends Component { state = { List: [ { name:
[
[
"josie",
"ally",
"fred"
],
[
"edward",
"ally",
"fred",
"goolly"
]
]
我需要这样做,因为我需要一种相对于子列表名称引用子列表的方法
class App extends Component {
state = {
List: [
{
name: "josie",
sub: [
"ally",
"fred"
]
},
{
name: "edward",
sub: [
"ally",
"fred",
"goolly"
]
}
]
}
render() {
return (
<div>
</div>
);
}
}
export default App;
类应用程序扩展组件{
状态={
名单:[
{
姓名:“乔西”,
分:[
“盟友”,
“弗雷德”
]
},
{
姓名:“爱德华”,
分:[
“盟友”,
“弗雷德”,
“咕噜咕噜”
]
}
]
}
render(){
返回(
);
}
}
导出默认应用程序;
如果这太基本了,我很抱歉,但我真的很头疼。要实现这一点,最短的ES6版本之一是:
state.List.forEach(listItem => finalArr.push([].concat([listItem.name], listItem.sub)));
在这里,我们迭代List
array并推送到finalArr
一个新数组,我们通过将name
和sub
对象属性的值合并到一个新数组中来生成该数组。最后,我们有一个数组数组(每个子数组都是从state.List
中的独立项生成的)。以下是工作示例:
const state={
名单:[
{
姓名:“乔西”,
分:[
“盟友”,
“弗雷德”
]
},
{
姓名:“爱德华”,
分:[
“盟友”,
“弗雷德”,
“咕噜咕噜”
]
}
]
}
警察终结者=[];
state.List.forEach(listItem=>finalArr.push([].concat([listItem.name],listItem.sub));
控制台日志(finalArr)代码>您的第一个代码块无效。假设它们是弦,你是想让第一个变成第二个还是相反?