为了账号安全,请及时绑定邮箱和手机立即绑定

javascript从数组中读取对象

javascript从数组中读取对象

慕容森 2022-10-08 16:05:25
我如何读取列表中的玩家姓名?let Players = []let Player = {    sprite: 1,    coords: {M: 0, X: 0, Y: 0},    name: ""}function LoadPlayers(){console.log("total players: " + Players.length)let player1 = Playerplayer1.sprite = 0player1.coords = {M: 0, X: 6, Y: 1};player1.name = "jimpie"Players.push([player1]);let player2 = Player         player2.sprite = 0player2.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)}我现在得到“未定义”,我想从列表中的特定玩家读出玩家详细信息。
查看完整描述

3 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

你有不同的错误。

首先,您必须使用new Player()而不仅仅是player.

其次,你应该使用这个:

Players.push(player1);

而不是这个:

Players.push([player1]);

第一个将 player1 推送到 Players 数组,第二个将仅包含 player1 的新数组推送到数组 Players。您还必须使用它来添加 player2。


查看完整回答
反对 回复 2022-10-08
?
FFIVE

TA贡献1797条经验 获得超6个赞

这是因为您没有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 function


function 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();


查看完整回答
反对 回复 2022-10-08
?
慕容708150

TA贡献1831条经验 获得超4个赞

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].coords

var xcoord = allcoords[1]

var ycoord = allcoords[2]

var mapnum = allcoords[0]


console.log("map: " + mapnum + " x: " + xcoord + " y: " + ycoord);


}

这很好用!


查看完整回答
反对 回复 2022-10-08
  • 3 回答
  • 0 关注
  • 286 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号