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

Javascript 根据键值和更改大小从数组中获取值

Javascript 根据键值和更改大小从数组中获取值,javascript,Javascript,我如何获得“第二类问题中的第二个问题”的答案 我需要用JavaScript来实现这一点。类别名称将是随机的,尽管我知道这个值以及我正在寻找答案的问题的值 类别和问题的数量会有所不同,因此解决方案不能依赖于此数组的固定大小 不会有任何重复的类别或问题 任何帮助都会很棒,我一直在努力解决这个问题。让我感到困惑的是,类别名称正在改变,我不知道如何匹配一个值 js { "Category 1":[ { "question":"Fist question i

我如何获得“第二类问题中的第二个问题”的答案

我需要用JavaScript来实现这一点。类别名称将是随机的,尽管我知道这个值以及我正在寻找答案的问题的值

类别和问题的数量会有所不同,因此解决方案不能依赖于此数组的固定大小

不会有任何重复的类别或问题

任何帮助都会很棒,我一直在努力解决这个问题。让我感到困惑的是,类别名称正在改变,我不知道如何匹配一个值

js

{
    "Category 1":[
        {
            "question":"Fist question in category 1?",
            "answers":[
                "first answer",
                "second answer",
                "third answer",
                "fourth answer"
            ]
        },
        {
            "question":"Second question in category 1?",
            "answers":[
                "first answer",
                "second answer",
                "third answer",
                "fourth answer"
            ]
        }
    ],
    "Category 2":[
        {
            "question":"First question in category 2?",
            "answers":[
                "first answer",
                "second answer",
                "third answer",
                "fourth answer"
            ]
        },
        {
            "question":"Second question in category 2?",
            "answers":[
                "first answer",
                "second answer",
                "third answer",
                "fourth answer"
            ]
        },
        {
            "question":"Third question in category 2?",
            "answers":[
                "first answer",
                "second answer",
                "third answer",
                "fourth answer"
            ]
        }
    ]
};

您可以在循环中为…尝试

var obj = {/* Assume that this is your object */};
for (let key in obj){ //Loops through object
    for (let i = 0; i < obj[key].length; i++){ //Loops through array
        if (obj[key][i].question == "Second question in category 2?"){
            var answers = obj[key][i].answers; //Here's your answers in array
        }
    }
}
var obj={/*假设这是您的对象*/};
for(让key在obj中){//在对象中循环
for(设i=0;i
您可以在
循环中为…尝试

var obj = {/* Assume that this is your object */};
for (let key in obj){ //Loops through object
    for (let i = 0; i < obj[key].length; i++){ //Loops through array
        if (obj[key][i].question == "Second question in category 2?"){
            var answers = obj[key][i].answers; //Here's your answers in array
        }
    }
}
var obj={/*假设这是您的对象*/};
for(让key在obj中){//在对象中循环
for(设i=0;i
对类别执行一个for-in循环,然后对每个类别执行另一个for-in循环

for (var i in categories) {
    var category = categories[i];
    for (var k in category) {
        if (category[k].question == 'First question in category 2?') {
            console.log(category[k]);
        }
    }
}

对类别执行for-in循环,然后对每个类别执行另一个for-in循环

for (var i in categories) {
    var category = categories[i];
    for (var k in category) {
        if (category[k].question == 'First question in category 2?') {
            console.log(category[k]);
        }
    }
}
var问题={
“第1类”:[
{
“问题”:“第一类中的第一个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”]
},
{
“问题”:“第1类第二个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”]
}],
“第2类”:[
{
“问题”:“第2类中的第一个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”]
},
{
“问题”:“第2类中的第二个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”]
},
{
“问题”:“第二类第三个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”]
}]
};
for(问题中的var类别)
{
var filtered=$.grep(问题[类别],函数(e,i){
返回e.question==“第二类问题?”;
});
如果(过滤的长度>0)
{
console.log(已筛选[0]。答案);
}
}
var问题={
“第1类”:[
{
“问题”:“第一类中的第一个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”]
},
{
“问题”:“第1类第二个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”]
}],
“第2类”:[
{
“问题”:“第2类中的第一个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”]
},
{
“问题”:“第2类中的第二个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”]
},
{
“问题”:“第二类第三个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”]
}]
};
for(问题中的var类别)
{
var filtered=$.grep(问题[类别],函数(e,i){
返回e.question==“第二类问题?”;
});
如果(过滤的长度>0)
{
console.log(已筛选[0]。答案);
}
}
尝试以下代码:

const obj={
“第1类”:[{
“问题”:“第一类中的第一个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”
]
}, {
“问题”:“第1类第二个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”
]
}],
“第2类”:[{
“问题”:“第2类中的第一个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”
]
}, {
“问题”:“第2类中的第二个问题?”,
“答案”:[“第一个答案”,
“第二个答案”,
“第三个答案”,
“第四个答案”,