3

非常に単純な質問だと思いますが、これを達成するための最良のアプローチは何ですか。

複数のプロジェクトのオブジェクトを作成したい。私はこのようなことをする必要があります:

var projects = {};
projects.url = "www.example.com";
projects.description = "Project Description";

しかし、このプロジェクト オブジェクトを複数のプロジェクトで使用するにはどうすればよいでしょうか。

編集:いくつかの回答が示唆するように配列を使用することについて考えましたが、配列を回避する方法はありますか?

4

3 に答える 3

4

プロジェクトオブジェクトの配列があります。

var projects = [
    {
        url: 'http://www.example.com',
        description: 'Project Description'
    },
    {
        url: 'http://www.example2.com',
        description: 'Project 2'
    }
];
于 2013-02-23T18:43:42.607 に答える
1

プロジェクト クラスを作成します。

var Project = function() {};

Project.prototype = {
    url: "www.example.com",
    description: "Project Description"
};

次に、これらのオブジェクトの複数のインスタンスを作成できます。

var proj1 = new Project(),
    proj2 = new Project();
于 2013-02-23T19:01:38.430 に答える
-1

最良の答えは、配列を使用することですが、四角いペグを丸い穴に打ち込もうとする場合は、次のようなオブジェクトを使用できます...

免責事項: このコードは義理の母として醜いので、使用しないでください

var projects = {}

projects.project1 = {
  url = "www.example.com";
  description = "Project Description";
}

projects.project2 = {
  url = "www.example2.com";
  description = "Project2 Description";
}

そして、このように選択...

for(i=0;i<2;i++){
  console.log(projects["project"+i].description)
}

編集:潜在的に役立つコード...

このような場合に配列の代わりにオブジェクトを使用することが有用であると想像できるのは、プロジェクトに一意の ID があり、それらを順不同で検索する必要がある場合だけです。ID をキーとして使用してプロジェクトを一覧表示する利点があるため、ID がわかっている場合は、配列をループして目的のオブジェクトを見つけるのではなく、オブジェクトを直接選択できます...

projects = {
  projAcHRx:{ ... },
  projFhv5R:{ ... }
}

// select project: projAcHRx
projects.projAcHRx // <~ very simple lookup if you know the ID

それよりも

projects = [
  { id:'projAcHRx',
    ... },
  { id:'projFhv5R',
    ... },
]

// select project: projAcHRx
for(i=projects.length;i;i--){
  if(projects[i] == 'projAcHRx'){
    var selected = projects[i] // <~ hideously complex selection!
  }
}
于 2013-02-23T18:55:02.110 に答える