JSFiddle - React, Tailwind, and code Playground

JavaScript

function shuffle(o) {
    for (var j, x, i = o.length; i; j = parseInt(Math.random() * i, 10), x = o[--i], o[i] = o[j], o[j] = x);
    return o;
}

function range(low, high, step) { // Create an array containing a range of elements
    //
    // +   original by: _argos
    var matrix = [];
    var inival, endval, plus;
    var walker = step || 1;
    var chars = false;
    if (!isNaN(low) && !isNaN(high)) {
        inival = low;
        endval = high;
    } else if (isNaN(low) && isNaN(high)) {
        chars = true;
        inival = low.charCodeAt(0);
        endval = high.charCodeAt(0);
    } else {
        inival = (isNaN(low) ? 0 : low);
        endval = (isNaN(high) ? 0 : high);
    }
    plus = ((inival > endval) ? false : true);

    if (plus) {
        while (inival <= endval) {
            matrix.push(((chars) ? String.fromCharCode(inival) : inival));
            inival += walker;
        }
    } else {
        while (inival >= endval) {
            matrix.push(((chars) ? String.fromCharCode(inival) : inival));
            inival -= walker;
        }
    }
    return matrix;
}
//В этом примере рассмотрим случай, когда нужно выбрать случайное значение от 0 до 4
//Заполним массив всеми возможными значениями
valid_numbers = range(0, 4, 1);
//Посмотрим, что получилось:
console.log('Возможные значения: '+valid_numbers+';');
//Перемешаем его
shuffle(valid_numbers);
//Посмотрим, что получилось:
console.log('Перемешанный массив: '+valid_numbers+';');
valid_numbers.forEach(function (item) {
    console.log("<img class='row_size' src=\"img/" + item + ".jpg\" />");
});