Функция с параметром для обратного цикла

Есть ли в JavaScript какой-либо способ передать параметр в функцию, чтобы он изменил направление цикла?

var srcDoc = app.activeDocument;
var str = "";

// iterateLayers(srcDoc, true); // 3 2 1 0
iterateLayers(srcDoc, false);  // 0 1 2 3

function iterateLayers(srcDoc, rev)
{
  var numOfLayers = sauce.layers.length;
  if (rev)
  {
    for (var i = numOfLayers -1; i >= 0; i--)
    {
      str+= i + " ";
    }
  }
  else
  {
    for (var i = 0; i < numOfLayers; i++)
    {
      str+= i + " ";
    }
  }
}

alert(str); 

1 ответ

Решение

ХА! Я разобрался с троичными операторами. Иди ко мне!

// call the source document
var srcDoc = app.activeDocument;

var str = "";

// iterateLayers(srcDoc, true); // 3 2 1 0
iterateLayers(srcDoc, false);  // 0 1 2 3

function iterateLayers(sauce, rev)
{
  var numOfLayers = sauce.layers.length;
  for (var i = numOfLayers -1; i >= 0; i--)
  {
    var index = (rev == true) ?  i : (sauce.layers.length-i)-1;
    str+= index + " ";
  }
}

alert(str); 
Другие вопросы по тегам