JSFiddle - React, Tailwind, and code Playground

by uedatakuya

JavaScript

function foo(x, y) {
    return function(id, owner) {
        this.x = x;
        this.y = y;
        this.id = id;
        this.owner = owner;
    }
}

function Hoge(name, foos){
    var i;
    var that = this;
    this.name = name;
    this.foosList = [];
    for (i = 0; i<foos.length; i++) {
        this.foosList.push(foos[i](i, that));
    }
}

var foos = [
    foo(100,100),
    foo(200, 200),
];

var hoge1 = new Hoge("hoge1", foos);
var hoge2 = new Hoge("hoge2", foos);
var hoges = [hoge1, hoge2];

var i,j;
for (i=0; i<hoges.length; i++) {
    for (j=0; j<hoges[i].foosList.length; j++) {
        var f = hoges[i].foosList[j];
        alert(f.owner+"-"+f.id);
    }
}