Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从对象的所有实例中找到特定属性的值?_Javascript - Fatal编程技术网

Javascript 如何从对象的所有实例中找到特定属性的值?

Javascript 如何从对象的所有实例中找到特定属性的值?,javascript,Javascript,在这种情况下,这被标记为重复或类似的东西;我只是想说我找了3-4天的答案。出现的文章、主题和相关问题并没有解决我的问题。如果他们碰巧是解决方案,我目前不知道,也不明白为什么 例如,我如何循环遍历player对象的所有实例并为id属性返回每个实例的值 function player(id, damage, arena) { this.id = id; this.damage = damage; this.arena = arena; } var player1 = new player(101,

在这种情况下,这被标记为重复或类似的东西;我只是想说我找了3-4天的答案。出现的文章、主题和相关问题并没有解决我的问题。如果他们碰巧是解决方案,我目前不知道,也不明白为什么

例如,我如何循环遍历player对象的所有实例并为id属性返回每个实例的值

function player(id, damage, arena)
{
this.id = id;
this.damage = damage;
this.arena = arena;
}

var player1 = new player(101,10, true);
var player2 = new player(102,5, true);
var player3 = new player(103,20, true);
别嘲笑我! 尽管我有65%确信字符串不会用作引用 对于一个对象,我所有的思路都倾向于回到这样的工作方式

var txt = "";
for (i=1; i <= player_count; i++)

{
var x = "player"+i;
txt += " " + x.id;
}

document.GetElementById("someTextDivOrSomething").innerHTML = txt;
var txt=”“;
对于(i=1;i您需要一些来保存,即您创建球员时的球员表示

稍后,您可以循环查看您的玩家集合

e、 g


可以对对象构造函数使用闭包。私有变量
players
包含类
Player
的所有实例

var Player=函数(){
var=[];
返回功能(id、伤害、竞技场){
this.id=id;
这个。损坏=损坏;
这个竞技场=竞技场;
这个。玩家=玩家;
这个。玩家。推(这个);
};
}();
var player1=新玩家(101,10,真);
var player2=新玩家(102,5,真);
var player3=新玩家(103,20,真);
document.write(player1.players.length+“
”);//3 document.write(player2.players.length+“
”);//3
player3.players.forEach(函数(a){document.write('id:'+a.id+'
');})//101、102、103
我不太明白。*编辑*(误按enter键)在for循环中,引用/返回id的内容是什么?每次循环循环循环p时,p是不同的玩家,所以它输出每个玩家实例的所有信息?然后我可以通过一些其他编码对文本进行排序以找到特定值?编辑以添加“涉及玩家的内容”的示例;for(让p的玩家){}它本身什么都不做,你把你想对每个玩家做的{}事情放在里面。我65%确信一个字符串不会作为一个对象的引用,但有35%的信心我说:
txt+=window[“player”+I].id
。当然你需要事先知道
player\u count
let players = {};

...

players[101] = new player(101,10, true);
players[102] = new player(102,15, true);
players[103] = new player(103,20, true);

...

let txt = ""
for (let p of players) {
    txt += " " + p.id
    // note we need a name which is not "player" as that is taken
}