嵌套循环:最后一个循环总是返回最后一个数组对象

克里斯托巴嗪

我正在尝试用 3 个数组创建一个循环。一切正常,直到最后一个循环。

最后一个循环总是返回最后一个数组对象。

我尝试添加一些中断,在同一级别移动循环以及许多其他内容。但我从来没有成功过...

这是我的代码

features = [
  'poll',
  'form'
];
actions = [
  'create',
  'activate',
  'duplicate'
];
queries = [
  'createQuery',
  'activateQuery',
  'duplicateQuery'
];
function getFeatureAction(feature) {
  for (f = 0; f < features.length; f++) {
    feature = features[f];

    queries = [
      'createQuery',
      'activateQuery',
      'duplicateQuery'
    ];

    for (a = 0; a < actions.length; a++) {
      action = actions[a]
      featureAction = feature + '_' + action

      for (q = 0; q < queries.length; q++) {
        query = queries[q]
      }

      console.log(featureAction, query)
    }
  }
}

getFeatureAction(); 

我的例外结果:

poll_create createQuery
poll_activate activateQuery
poll_duplicate duplicateQuery
form_create createQuery
form_activate activateQuery
form_duplicate duplicateQuery
迈克尔·卡恰诺

所以我认为这里的一般想法是您需要在循环内部登录,以便您可以看到它的每次迭代,而不是只看到最后一个结果,因为您在循环之外,因此在循环完成时将打印该结果。有很多方法可以做到这一点,但尽可能接近你的版本就是这样。

features = [
  'poll',
  'form'
];
actions = [
  'create',
  'activate',
  'duplicate'
];
queries = [
  'createQuery',
  'activateQuery',
  'duplicateQuery'
];

function getFeatureAction(feature) {
    for (let f = 0; f < features.length; f++) {
    feature = features[f];

    for(let a = 0; a < actions.length; a++) {
      query = queries[a]
      action = actions[a]
      featureAction = feature + '_' + action
      console.log(featureAction, query)
    }

  }
}

getFeatureAction();

请注意,我只做了两个for循环,因为这些数组的长度是相同的,但是如果这些数组的长度并不总是相同,那么您也应该循环最后一个数组

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章