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

Javascript 无法在嵌套数组中循环

Javascript 无法在嵌套数组中循环,javascript,arrays,loops,object,Javascript,Arrays,Loops,Object,我正在尝试遍历以下数组,但未成功 我的方法正确吗? 我对我的代码做了很多修改,但可能不是原来的样子 我的尝试: var gender = ["men", "women"]; var category = [ "topwear", "bottomwear", "indianwear", "westernwear", ]; for (var i =

我正在尝试遍历以下数组,但未成功

我的方法正确吗? 我对我的代码做了很多修改,但可能不是原来的样子

我的尝试:

var gender = ["men", "women"];
var category = [
    "topwear",
    "bottomwear",
    "indianwear",
    "westernwear",
];

for (var i = 0; i < categories.length; i++) {
    for (var g = 0; g < gender.length; g++) {
        for (j = 0; j < categories[i][gender[g]].length; j++) {
            for (var c = 0; c < category.length; c++) {
                console.log("=======category========", category[c]);
                for (k = 0; k < categories[i][gender[g]][j][category[c]].length; k++) {
                    console.log(categories[i][gender[g]][j][category[c]][k]);
                }
            }
        }
    }
}
我需要获取数组中的名称。 因为我需要在我将要在内部编写的代码中使用它 大多数循环


提前感谢

您的代码希望数组中的每个对象同时具有
男性
女性
属性。但这些属性位于单独的数组元素中。因此,在尝试循环其元素之前,需要检查属性是否存在。否则,您将尝试获取未定义属性的长度

类似地,
men
women
数组中的每个对象都只有一个属性,而不是
类别
数组中的所有属性

如果将变量分配给数组的当前元素,则循环将更加容易,因此不需要包含大量索引的长表达式,如
categories[i][gender[g]][j][category[c][k]
。使用
forEach()
将简化此过程

var性别=[“男性”、“女性”];
变量类别=[
“上衣”,
“内衣”,
“印度服装”,
“westernwear”,
];
变量类别=[{
男子:[{
上衣:[
“男式上衣”,
“男士T恤”,
“男士休闲衬衫”,
“男士正式衬衫”,
“男士运动衫”,
“男式毛衣”,
“男士夹克”,
“男式运动夹克”,
“男装”,
“雨衣”,
],
},
{
底裤:[
“男式牛仔裤”,
“男式休闲裤”,
“男式正式长裤”,
“男式短裤”,
“男士运动裤”,
“男士内衣”,
“男士内裤和长裤”,
“男子拳击手”,
“男士内衣”,
“男士睡衣”,
“男人热”,
],
},
],
},
{
妇女:[{
印度服装:[
“女性库尔塔斯库尔提斯套装”,
“民族顶级”,
“民族服饰菜单”,
“女性民族底裤?f=类别%3丘里达尔%2紧身裤%2萨尔瓦”,
“裙子宫殿”,
“纱丽”,
“衣料”,
“lehenga choli”,
“杜帕塔披肩”,
“妇女穿民族夹克”,
“连衣裙?f=性别%3男性%20女性%2女性”,
“连身衣?f=性别%3男性%20女性%2女性”,
],
},
{
westernwear:[
“女式衬衫上衣T恤”,
“女式牛仔裤”,
“女裤”,
“女式短裤和裙子”,
“女人耸耸肩”,
“女式毛衣和运动衫”,
“女式夹克外套”,
“女式运动夹克背心”,
],
},
],
},
];
categories.forEach(catItem=>
性别。forEach(genItem=>{
if(catItem[genItem]){
类别.forEach(类别=>{
console.log(“==========类别========”,cat);
catItem[genItem].forEach(i=>{
如果(i[猫]){
i[cat].forEach(x=>console.log(x));
}
});
});
}
})

);
男人:
女人:
应该在同一个对象中,而不是不同的对象中。哦。你能提供解决方案吗?它向我显示了(k=0;k。长度;k++
类型错误:无法读取未定义的属性“length”
 [
    {
        men: [
            {
                topwear: [
                    "men-topwear",
                    "men-tshirts",
                    "men-casual-shirts",
                    "men-formal-shirts",
                    "men-sweatshirts",
                    "men-sweaters",
                    "men-jackets",
                    "men-blazers",
                    "men-suits",
                    "rain-jacket",
                ],
            },
            {
                bottomwear: [
                    "men-jeans",
                    "men-casual-trousers",
                    "men-formal-trousers",
                    "mens-shorts",
                    "men-trackpants",
                    "men-innerwear",
                    "men-briefs-and-trunks",
                    "men-boxers",
                    "men-innerwear-vests",
                    "men-nightwear",
                    "men-thermals",
                ],
            },
        ],
    },
    {
        women: [
            {
                indianwear: [
                    "women-kurtas-kurtis-suits",
                    "ethnic-tops",
                    "ethnic-wear-dresses-menu",
                    "women-ethnic-bottomwear?f=categories%3AChuridar%2CLeggings%2CSalwar",
                    "skirts-palazzos",
                    "saree",
                    "dress-material",
                    "lehenga-choli",
                    "dupatta-shawl",
                    "women-ethnic-wear-jackets",
                    "dresses?f=Gender%3Amen%20women%2Cwomen",
                    "jumpsuits?f=Gender%3Amen%20women%2Cwomen",
                ],
            },
            {
                westernwear: [
                    "women-shirts-tops-tees",
                    "women-jeans-jeggings",
                    "women-trousers",
                    "women-shorts-skirts",
                    "women-shrugs",
                    "women-sweaters-sweatshirts",
                    "women-jackets-coats",
                    "women-blazers-waistcoats",
                ],
            },
        ],
    },
];