You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中获取传入函数的数组变量名而非数组值?

解决方案

首先明确:JavaScript中,当你把数组变量作为参数传给函数时,函数拿到的是数组的引用(值),而非变量本身的名字。所以直接拼接arr会把数组转成元素用逗号连接的字符串,这就是你之前看到打印球员名字的原因。

下面给你两种适合新手的简单实现方式:

方法1:给函数添加运动名称参数

直接在调用函数时额外传入运动名称字符串,这是最直观的方案:

function favPlayers(arr, sportName) {
    for(let i = 0; i < arr.length; i++) {
        console.log(arr[i]);
    }
    console.log(`These are my fav ${sportName} players`);
}

var cricket = ["dhoni", "Virat", "sachin", "ponting", "steyn", "abd"];
var football = ["CR7", "messi", "bale", "mbappe", "haaland", "bruno"];

// 调用时传入数组和对应的运动名称
favPlayers(cricket, "cricket");
favPlayers(football, "football");

这里用了模板字符串(`...`),比传统字符串拼接更简洁易读,新手可以记一下这种写法。

方法2:用对象存储运动数组,通过键名获取名称

如果不想每次调用都重复写名称字符串,可以把所有运动数组放到一个对象里,键名就是运动名称,函数通过键名来操作:

// 把数组存入对象,键名对应运动名称
const sports = {
    cricket: ["dhoni", "Virat", "sachin", "ponting", "steyn", "abd"],
    football: ["CR7", "messi", "bale", "mbappe", "haaland", "bruno"]
};

function favPlayers(sportKey) {
    const arr = sports[sportKey];
    for(let i = 0; i < arr.length; i++) {
        console.log(arr[i]);
    }
    console.log(`These are my fav ${sportKey} players`);
}

// 调用时直接传入键名
favPlayers("cricket");
favPlayers("football");

第一种方法简单直接,适合当前场景;第二种更适合后续需要扩展更多运动的情况。

内容的提问来源于stack exchange,提问作者Thanzeer07

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 19:25:19