Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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_Json - Fatal编程技术网

Javascript-更新循环外部的值,然后使用新值

Javascript-更新循环外部的值,然后使用新值,javascript,json,Javascript,Json,我正在创建一个函数,该函数使用数组在JSON对象中导航,并在每个步骤将其键推送到结果数组。问题是,我无法让循环在每个连续循环中使用更新的对象 JSON对象: myData = { 'Eye': { 'Abnormal Morphology': [ 'Neoplasm', 'Abnormality of the globe' ], 'Abnormal Physiology': [

我正在创建一个函数,该函数使用数组在JSON对象中导航,并在每个步骤将其键推送到结果数组。问题是,我无法让循环在每个连续循环中使用更新的对象

JSON对象:

myData = {
    'Eye': {
        'Abnormal Morphology': [
            'Neoplasm',
            'Abnormality of the globe'
        ],
        'Abnormal Physiology': [
            'Hemorrhage',
            'Ptosis',
            'Ocular pain'
        ]
    },
    'Ear': {
        'Outer Ear': [
            'Abnormality of the pinna',
            'Abnormal location of ear',
            'Extra chondra fold'
        ],
        'Middle Ear': [
            'Glue ear',
            'Otitis media'
        ]
    }
}
以及功能:

view = ['Ear', 'Outer Ear']

getMenuItems(object, array) {
    let menuItems = Object.keys(object);
    let result = [menuItems];

    for (let item in array) {
        object = object[item];         // use updated object each time
        menuItems = Object.keys(object);
        result.push(menuItems);
    }

    return result;
}
我期待的结果是:

[['Eye', 'Ear'], ['Outer Ear', 'Inner Ear'], ['Abnormality of the pinna', 'Abnormal location of ear', 'Extra chondra fold']]
但我得到的只是:

['Eye', 'Ear']
迭代项键(0,1,2)。可以使用代替来迭代道具:

for( const item of array )

然后它

可能会用object替换obj??抱歉更改了变量名以使其更清晰,但忘记了那个!我不确定我是否理解你期望的结果。你能举例说明你期望的结果吗?(例如,结果应该是['foo','bar'])更新,很抱歉,您想更新什么,键还是值?谢谢,这正是我需要的!
for( const item of array )