Функции конструктора, массивы и объекты - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь исключить эти две проблемы, и любой вклад будет оценен.

Мои решения для этого работают, но выходной объект продолжает повторять «Образец» перед объектом в массиве.

(1) Выборка из латинского гиперкуба Напишите функцию, которая создает N псевдослучайныхвыборки из реального пространства D. Функция должна принимать в качестве аргументов: - количество создаваемых выборок (N) - границы каждого измерения (dmin, dmax) Функция должна возвращать массив объектов, представляющих весь набор случайных чисел.номер кортежи.Например: result = [{"d1": 1, "d2": 3}, {"d1": 2, "d2": 1}, {"d1": 3, "d2": 2}];

// Create the function.
const hypercube = (N, dmin, dmax) => {
    const samp = [];
    for(let i = 0; i <= N; i ++){
        const   min = Math.ceil(dmin),
                max = Math.floor(dmax);

        // let build = new latin(min, max);
        // samp.push(build);
        samp.push(new Sample(min, max));
    }
    console.log(samp);
};
// Run the function.
hypercube(2, 1, 6);

// This is the constructor function.
function Sample (min, max) {
    this.d1 = Math.floor(Math.random() * (max - min + 1) + min);
    this.d2 = Math.floor(Math.random() * (max - min + 1) + min);
}

Это вторая часть, мое решение похоже на первую.Я создал массив букв и выбрал один случайным образом из этого массива.

(2) Комбинаторика Расширьте функцию, чтобы учесть комбинаторные типы данных, т. Е. Значения из фиксированного неупорядоченного набора.Комбинаторные типы данных должны быть представлены строкой.Функция должна принимать в качестве аргументов: - количество производимых выборок (N) - конфигурацию каждого измерения: - - для действительного числа это должно быть в пределах (dmin, dmax) - - для комбинаторного значения это должно бытьмассив возможных значений ([...]) Например, функция может выдавать результаты для трех измерений: первые два - действительные числа в диапазоне [1 - 3], а третье - комбинаторный набор ["A", "ДО НАШЕЙ ЭРЫ"].Как и прежде: функция должна возвращать массив объектов.Например:

// Create the function.
const hypercube = (N, dmin, dmax) => {
    const samp = [];
    for(let i = 0; i <= N; i ++){
        const   min = Math.ceil(dmin),
                max = Math.floor(dmax);
                
        // let build = new latin(min, max);
        // samp.push(build);
        samp.push(new Sample(min, max));
    }
    console.log(samp);
};
// Run the function.
hypercube(2, 1, 6);
 
// This is the constructor function.
function Sample (min, max) {
    this.d1 = Math.floor(Math.random() * (max - min + 1) + min);
    this.d2 = Math.floor(Math.random() * (max - min + 1) + min);
}

result = [{"d1": 1, "d2": 3, "d3": "B"}, {"d1": 2, "d2": 1, "d3": "A"}, {"d1": 3, "d2": 2, "d3": "C"}];

Буду признателен за любой вклад.

Спасибо.

...