Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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_Reactjs - Fatal编程技术网

Javascript 是否有一种方法可以映射对象的关键点,以将嵌套对象的关键点渲染为其各自类别下的列表

Javascript 是否有一种方法可以映射对象的关键点,以将嵌套对象的关键点渲染为其各自类别下的列表,javascript,reactjs,Javascript,Reactjs,预期输出样本 **Car**<br> Volvo<br> Mazda **Confectionaries** <br> Cake<br> Candy **Food** <br> Rice <br> Beans **汽车** 沃尔沃 马自达 **糖果店** 蛋糕 糖果 **食物** 大米 豆 在这种情况下,是否有一种方法可以映射对象(汽车、糖果、食品e.t.c)的键,以将嵌套对象(在这种情况下,沃尔沃、马自达用于汽车e

预期输出样本

**Car**<br>
Volvo<br>
Mazda

**Confectionaries** <br>
Cake<br>
Candy

**Food** <br>
Rice <br>
Beans
**汽车**
沃尔沃
马自达 **糖果店**
蛋糕
糖果 **食物**
大米
在这种情况下,是否有一种方法可以映射对象(汽车、糖果、食品e.t.c)的键,以将嵌套对象(在这种情况下,沃尔沃、马自达用于汽车e.tc)的键作为其各自类别下的列表输出

注:这是我目前正在进行的一个项目,旨在提高我的学习技能,任何关于如何更好地加快我的学习过程的建议都是非常受欢迎的。谢谢

Object.entries()
方法返回给定对象自身的数组 可枚举字符串键控属性
[键,值]

const state={
类别:{
汽车:{
沃尔沃:1,
马扎:2
},
糖果店:{
蛋糕:1,
坎蒂:2
},
食物:{
赖斯:1,,
豆类:2
}
}
};
//抱歉,这很糟糕,但实际的JSX更干净
const res=Object.entries(state.categories)
.map(([key,category])=>`
    ${ 对象.条目(类别) .map([key,item])=>`\n
  • ${item}
  • `.join(“”) }\n
`。联接('\n'); 控制台日志(res)
let类别={
汽车:{
沃尔沃:1,
马扎:2
},
糖果店:{
蛋糕:1,
坎蒂:2
},
食物:{
赖斯:1,,
豆类:2
}
}
for(在类别中输入1){
控制台日志(键1);
for(让key2进入类别[key1]){
console.log('\t',键2);
}

}
我觉得您希望从一组给定的键中获取对象值
1-用于获取原始对象键。
2-使用函数呈现输出
总的来说是:

Object.keys(categories.car).map( ( key ) => categories.confectionaries[key])

我找到了一种方法,可以使用这段代码将我的列表项映射到数组中的不同ul组件

常数ul=

        Object.entries(props.allshop).map(([item, list,index]) => {

           [...Array(Object.keys(list))]
         .map((newItem, index) => {


          return <BuildControl key={index} item={newItem} title={item}></BuildControl>

        })   

        })
Object.entries(props.allshop).map([item,list,index])=>{
[…数组(Object.keys(list))]
.map((新项,索引)=>{
返回
})   
})
但是,我仍然有一个问题,因为ul像这样返回未定义的数组值

{console.log(ul)}=[未定义,未定义,未定义,未定义,未定义]

我尝试在BuildControl组件上运行console.log,它返回了我期望的对象,如下所示: console.log()


现在我的挑战是如何让ul返回buildControl的这个值,而不是未定义的

使用第二个
对象.keys(value).map(key=>(/*JSX*/)
来呈现内部值…@faceman是的,当时正在运行代码段;)
        Object.entries(props.allshop).map(([item, list,index]) => {

           [...Array(Object.keys(list))]
         .map((newItem, index) => {


          return <BuildControl key={index} item={newItem} title={item}></BuildControl>

        })   

        })