Javascript 如何用变量替换数组名?
我在这里编写JavaScript来模拟足球比赛中的一场比赛。我创建了一个由5个对象组成的数组,每个对象都是一个玩家。然后,我继续在阵列中循环,并使用if条件返回多个比较点,基于哪些玩家处于活动状态,以便我最终可以比较对手的比较点,以查看差异是否保证触地得分、射门得分或选择六分 代码的后半部分即将到来,但我首先要确定的是,下面的代码能够通过在所有实例中使用名为“whoHasBall”的变量替换团队名称来工作 这样,我可以使用相同的循环指向Eagles阵列或Giants阵列,稍后我将添加它们 下面我粘贴了代码,将团队名称作为静态名称输入,该代码通过返回两名活动玩家和返回比较点的总数来工作Javascript 如何用变量替换数组名?,javascript,arrays,Javascript,Arrays,我在这里编写JavaScript来模拟足球比赛中的一场比赛。我创建了一个由5个对象组成的数组,每个对象都是一个玩家。然后,我继续在阵列中循环,并使用if条件返回多个比较点,基于哪些玩家处于活动状态,以便我最终可以比较对手的比较点,以查看差异是否保证触地得分、射门得分或选择六分 代码的后半部分即将到来,但我首先要确定的是,下面的代码能够通过在所有实例中使用名为“whoHasBall”的变量替换团队名称来工作 这样,我可以使用相同的循环指向Eagles阵列或Giants阵列,稍后我将添加它们 下面我
/*-----------EaglesVsGiants5.js------------ */
let whoHasBall = "Eagles";
let getRandNum = function (start, range) {
let getRand = Math.floor((Math.random() * range) + start);
while (getRand > range) {
getRand = Math.floor((Math.random() * range) + start);
};
return getRand;
}
let Eagles = [{
name: "Wentz",
power: 99,
position: "QB",
random: getRandNum(1, 10)
},
{
name: "Jackson",
power: 85,
position: "WR",
random: getRandNum(1, 10)
},
{
name: "Shady",
power: 88,
position: "RB",
random: getRandNum(1, 10)
},
{
name: "Cox",
power: 99,
position: "DT",
random: getRandNum(1, 10)
},
{
name: "Jenkins",
power: 80,
position: "DB",
random: getRandNum(1, 10)
},
];
let TeamComparisonPts = 0;
for (let x = 0; x < Eagles.length; x++) {
let pow = (Eagles[x].power);
function AdjPlayerPts(rand) {
return Math.round(pow / (rand * (getRandNum(1, 10))));
};
let PlayersPts = (AdjPlayerPts(Eagles[x].random));
if ((Eagles[x].position) === "QB" || (Eagles[x].position) === "WR") {
console.log("------------------");
console.log((Eagles[x].name) + " is active on this play and has");
console.log((PlayersPts) + " pts");
TeamComparisonPts += PlayersPts;
};
};
console.log("------------------");
console.log(whoHasBall + " have " + TeamComparisonPts + " Team Comparison Points on this play");
console.log("------------------");
/*------------eaglesvgiants5.js------------*/
让whoHasBall=“鹰”;
让getRandNum=函数(开始,范围){
让getRand=Math.floor((Math.random()*range)+start);
while(getRand>range){
getRand=Math.floor((Math.random()*range)+start);
};
返回getRand;
}
让老鹰=[{
名称:“温茨”,
功率:99,
职位:“QB”,
随机:getRandNum(1,10)
},
{
姓名:“杰克逊”,
功率:85,
职位:“WR”,
随机:getRandNum(1,10)
},
{
名称:“阴凉”,
功率:88,
位置:“RB”,
随机:getRandNum(1,10)
},
{
姓名:“考克斯”,
功率:99,
位置:“DT”,
随机:getRandNum(1,10)
},
{
姓名:“詹金斯”,
功率:80,
位置:“DB”,
随机:getRandNum(1,10)
},
];
让TeamComparisonPts=0;
for(设x=0;x
因此,我决定采取下一步,替换团队数组名“Eagles”的所有实例,当然变量声明和实际数组名除外,我将使用变量“whoHasBall”引用该数组名,代码崩溃。我在全局级别声明了变量,因为据我所知,函数可以查看其局部范围之外的内容。顺便说一句,在第一个粘贴的代码中,变量“whoHasBall”仅在底部控制台调用中被引用以调整字符串
我已将该代码粘贴到此处:
let whoHasBall = "Eagles";
let getRandNum = function (start, range) {
let getRand = Math.floor((Math.random() * range) + start);
while (getRand > range) {
getRand = Math.floor((Math.random() * range) + start);
};
return getRand;
}
let Eagles = [{
name: "Wentz",
power: 99,
position: "QB",
random: getRandNum(1, 10)
},
{
name: "Jackson",
power: 85,
position: "WR",
random: getRandNum(1, 10)
},
{
name: "Shady",
power: 88,
position: "RB",
random: getRandNum(1, 10)
},
{
name: "Cox",
power: 99,
position: "DT",
random: getRandNum(1, 10)
},
{
name: "Jenkins",
power: 80,
position: "DB",
random: getRandNum(1, 10)
},
];
let TeamComparisonPts = 0;
for (let x = 0; x < whoHasBall.length; x++) {
let pow = (whoHasBall[x].power);
function AdjPlayerPts(rand) {
return Math.round(pow / (rand * (getRandNum(1, 10))));
};
let PlayersPts = (AdjPlayerPts(whoHasBall[x].random));
if ((whoHasBall[x].position) === "QB" || (whoHasBall[x].position) === "WR") {
console.log("------------------");
console.log((whoHasBall[x].name) + " is active on this play and has");
console.log((PlayersPts) + " pts");
TeamComparisonPts += PlayersPts;
};
};
console.log("------------------");
console.log(whoHasBall + " have " + TeamComparisonPts + " Team Comparison Points on this play");
console.log("------------------");
让whoHasBall=“Eagles”;
让getRandNum=函数(开始,范围){
让getRand=Math.floor((Math.random()*range)+start);
while(getRand>range){
getRand=Math.floor((Math.random()*range)+start);
};
返回getRand;
}
让老鹰=[{
名称:“温茨”,
功率:99,
职位:“QB”,
随机:getRandNum(1,10)
},
{
姓名:“杰克逊”,
功率:85,
职位:“WR”,
随机:getRandNum(1,10)
},
{
名称:“阴凉”,
功率:88,
位置:“RB”,
随机:getRandNum(1,10)
},
{
姓名:“考克斯”,
功率:99,
位置:“DT”,
随机:getRandNum(1,10)
},
{
姓名:“詹金斯”,
功率:80,
位置:“DB”,
随机:getRandNum(1,10)
},
];
让TeamComparisonPts=0;
for(设x=0;x
我希望,这对你有用
让getRandNum=函数(开始,范围){
让getRand=Math.floor((Math.random()*range)+start);
while(getRand>range){
getRand=Math.floor((Math.random()*range)+start);
};
返回getRand;
}
让whoHasBall={
老鹰:[{
名称:“温茨”,
功率:99,
职位:“QB”,
随机:getRandNum(1,10)
},
{
姓名:“杰克逊”,
功率:85,
职位:“WR”,
随机:getRandNum(1,10)
},
{
名称:“阴凉”,
功率:88,
位置:“RB”,
随机:getRandNum(1,10)
},
{
姓名:“考克斯”,
功率:99,
位置:“DT”,
随机:getRandNum(1,10)
},
{
姓名:“詹金斯”,
功率:80,
位置:“DB”,
随机:getRandNum(1,10)
},
]
};
让TeamComparisonPts=0;
Object.keys(whoHasBall.map)(团队=>{
whoHasBall[球队]。地图(球员=>{
让pow=(玩家的力量);
函数AdjPlayerPts(兰德){
返回数学圆(pow/(rand*(getRandNum(1,10));
};
让PlayersPts=(AdjPlayerPts(player.random));
如果((玩家位置)==“QB”| |(玩家位置)==“WR”){
console.log(“--------------------------------”);
console.log((player.name)+”处于活动状态
let whoHasBall = "Eagles";
let getRandNum = function (start, range) {
let getRand = Math.floor((Math.random() * range) + start);
while (getRand > range) {
getRand = Math.floor((Math.random() * range) + start);
};
return getRand;
}
let Eagles = [{
name: "Wentz",
power: 99,
position: "QB",
random: getRandNum(1, 10)
},
{
name: "Jackson",
power: 85,
position: "WR",
random: getRandNum(1, 10)
},
{
name: "Shady",
power: 88,
position: "RB",
random: getRandNum(1, 10)
},
{
name: "Cox",
power: 99,
position: "DT",
random: getRandNum(1, 10)
},
{
name: "Jenkins",
power: 80,
position: "DB",
random: getRandNum(1, 10)
},
];
let whoHasBall = Eagles;
let TeamComparisonPts = 0;
for (let x = 0; x < whoHasBall.length; x++) {
let pow = (whoHasBall[x].power);
function AdjPlayerPts(rand) {
return Math.round(pow / (rand * (getRandNum(1, 10))));
};
let PlayersPts = (AdjPlayerPts(whoHasBall[x].random));
if ((whoHasBall[x].position) === "QB" || (whoHasBall[x].position) === "WR") {
console.log("------------------");
console.log((whoHasBall[x].name) + " is active on this play and has");
console.log((PlayersPts) + " pts");
TeamComparisonPts += PlayersPts;
};
};
console.log("------------------");
console.log(whoHasBall + " have " + TeamComparisonPts + " Team Comparison Points on this play");
console.log("------------------");