Нужно пояснение одной строки

Не понимаю, и не могу в интернете найти как работает строка var exp = (o>4), o = o%5, str = pangrams[+exp][o];. Поясните - кто знает, и как гуглить?

var pangrams = [ 
  // not pangrams:
    [ 
      "This isn't a pangram!",
      "abcdefghijklmopqrstuvwxyz ",
      "aaaaaaaaaaaaaaaaaaaaaaaaaa",
      "Detect Pangram",
      "A pangram is a sentence that contains every single letter of the alphabet at least once."
    ],
  
  // pangrams:
    [
      "Cwm fjord bank glyphs vext quiz",
      "Pack my box with five dozen liquor jugs.",
      "How quickly daft jumping zebras vex.",
      "ABCD45EFGH,IJK,LMNOPQR56STUVW3XYZ",
      "AbCdEfGhIjKlM zYxWvUtSrQpOn"
    ]
  ];

[0,1,2,3,4,5,6,7,8,9].forEach(function(o){
  var exp = (o>4), o = o%5, str = pangrams[+exp][o]; // как работает дання строка и что она делает?
  console.log(str);
});


Ответы (2 шт):

Автор решения: Igor
  // parameter o (array item) is 6
  var exp = o > 4; // exp is true
  o = o % 5; // o is 1
  var str = pangrams[exp? 1 : 0][o]; // str is "Pack my box with five dozen liquor jugs.",
→ Ссылка
Автор решения: fixer

exp = (o>4) - в exp возвращается true или false, в зависимости от того, больше o 4 или нет.

o = o%5 - вычисление остатка от деления.

str = pangrams[+exp][o] - exp преобразуется в числовое значение 0 или 1, далее в str возвращается элемент массива pangrams по указанным ключам exp и o.

→ Ссылка