Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Arrays - Fatal编程技术网

Javascript 如何用变量替换数组名?

Javascript 如何用变量替换数组名?,javascript,arrays,Javascript,Arrays,我在这里编写JavaScript来模拟足球比赛中的一场比赛。我创建了一个由5个对象组成的数组,每个对象都是一个玩家。然后,我继续在阵列中循环,并使用if条件返回多个比较点,基于哪些玩家处于活动状态,以便我最终可以比较对手的比较点,以查看差异是否保证触地得分、射门得分或选择六分 代码的后半部分即将到来,但我首先要确定的是,下面的代码能够通过在所有实例中使用名为“whoHasBall”的变量替换团队名称来工作 这样,我可以使用相同的循环指向Eagles阵列或Giants阵列,稍后我将添加它们 下面我

我在这里编写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("------------------");