javascript从数组中读取对象

我如何读取列表中的玩家姓名?


let Players = []


let Player = {

    sprite: 1,

    coords: {M: 0, X: 0, Y: 0},

    name: ""

}


function LoadPlayers(){


console.log("total players: " + Players.length)


let player1 = Player

player1.sprite = 0

player1.coords = {M: 0, X: 6, Y: 1};

player1.name = "jimpie"


Players.push([player1]);




let player2 = Player         

player2.sprite = 0

player2.coords =  {M: 0, X: 1, Y: 17};

player2.name = "kolien"


Players.push([player2]);


console.log("total players: " + Players.length)


console.log("Player 1 name: " + Players[1].name)

console.log("Player 2 name: " + Players[0].name)

}

我现在得到“未定义”,我想从列表中的特定玩家读出玩家详细信息。


慕容森
浏览 235回答 3
3回答

饮歌长啸

你有不同的错误。首先,您必须使用new Player()而不仅仅是player.其次,你应该使用这个:Players.push(player1);而不是这个:Players.push([player1]);第一个将 player1 推送到 Players 数组,第二个将仅包含 player1 的新数组推送到数组 Players。您还必须使用它来添加 player2。

FFIVE

这是因为您没有Player正确创建一个。而不是使用let player1 = Player,使用let player1 = new Player()。此外,您需要创建一个Players数组。最后,你需要Player上课。class Player {  constructor(sprite, coords, name) {    this.sprite = sprite;    this.coords = coords;    this.name = name;  }}var Players = []; // If you want to access this array// from outside thefunction, keep it here. // Otherwise, move it in the LoadPlayers functionfunction LoadPlayers() {  let player1 = new Player(0, {    M: 0,    X: 6,    Y: 1  }, "jimpie");  Players.push(player1);  let player2 = new Player(0, {    M: 0,    X: 1,    Y: 17  }, "kolien")  Players.push(player2);  console.log("total players: " + Players.length)  console.log("Player 1 name: " + Players[0].name)  console.log("Player 2 name: " + Players[1].name)}LoadPlayers();

慕容708150

function Player(sprite, coords, name){    this.sprite = sprite;    this.coords = coords;    this.name = name;}let Players = []function LoadPlayers(){console.log("total players: " + Players.length)let player1 = new Player(1, [32, 15, 14], "jimpie")Players.push(player1);let player2 = new Player(1, (1, 1, 1), "kolien")Players.push(player2);console.log("total players: " + Players.length)console.log("Player 1 name: " + Players[0].coords)console.log("Player 2 name: " + Players[1].name)var allcoords = Players[0].coordsvar xcoord = allcoords[1]var ycoord = allcoords[2]var mapnum = allcoords[0]console.log("map: " + mapnum + " x: " + xcoord + " y: " + ycoord);}这很好用!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript