create group objects in loop

118
15 августа 2019, 12:10

подскажите пожалуйста как быть в таком случае: Есть ф-ия(конструктор, возвращающая объект);Как мне создавать объект в цикле присваивая значения новой переменной, при создании объекта например:

     function createObj(name,gender,age, countP){
        this.name = name;
        this.gender = gender;
        this.age = age;
        this.names = ['jane','alice','Hue','jekky'];
        if(countP){
         for(var i=0; i< countP;i++){
           return createObj(name,gender,countP);
          }
         }
        };
var people1 =createObj('jane', 'female', 26, 320);
/*так создастся один объект, а как мне сделать это в цикле при том присваивая новую переменную с инкрементом (people1,people2... и так до окончания countP, естественно с другими значениями, например берущиеся из массива names) вызов ф-ии выложен для примера на самом деле вызываю, только один раз в цикле, при передаче  параметра countP, в функцию createObj()*/
Answer 1

Потенциальное решение исходя из вопроса. На деле лучше не засорять так пространство имен.

UPD

var people = []; 
 
function createObj(name, gender, age) { 
  var obj = { 
    name: name, 
    gender: gender, 
    age: age 
  }; 
  people.push(obj); 
}; 
 
Array.prototype.getRandomItem = function() { 
  return this[Math.round(Math.random() * (this.length - 1))]; 
} 
 
var names = ["Sasha", "Vasya", "Tanya", "Petya", "Grisha", "Oleg", "Natasha", "Pasha"]; 
var gender = ["m", "w"]; 
var age = [21, 22, 23, 24, 25, 26, 27, 28, 29] 
 
for (var i = 0; i < 500; i++) { 
  createObj(names.getRandomItem(), gender.getRandomItem(), age.getRandomItem()); 
} 
 
console.log(people);

Через конструктор.

var people = []; 
 
function createObj(name, gender, age) { 
  this.name = name; 
  this.gender = gender; 
  this.age = age; 
}; 
 
Array.prototype.getRandomItem = function() { 
  return this[Math.round(Math.random() * (this.length - 1))]; 
} 
 
var names = ["Sasha", "Vasya", "Tanya", "Petya", "Grisha", "Oleg", "Natasha", "Pasha"]; 
var gender = ["m", "w"]; 
var age = [21, 22, 23, 24, 25, 26, 27, 28, 29] 
 
for (var i = 0; i < 500; i++) { 
  var obj = new createObj( 
    names.getRandomItem(), 
    gender.getRandomItem(), 
    age.getRandomItem() 
  ); 
 
  people.push(obj); 
} 
 
console.log(people);

READ ALSO
Сохранение динамического контента

Сохранение динамического контента

столкнулся с такой проблемой:

113
Как очистить кеш для отдельных сайтов во всех современных браузерах?

Как очистить кеш для отдельных сайтов во всех современных браузерах?

Как очистить кеш js файлов для отдельных доменов во всех современных браузерах?

95
SUM со сложным условием

SUM со сложным условием

Есть таблица, а в ней такие столбцы:

118
Не ставится задний фон

Не ставится задний фон

Начал работать вчера, толком ничего не умею, но основные понятия понимаюСтолкнулся с такой проблемой, что не ставится бэкграунд:

116