小编art*_*dev的帖子

如何将数组作为参数传递给javascript中的函数?

我正在尝试使用辅助函数来利用Google Analytics(分析)API,并且在构建字符串时遇到了一个简单的问题。场景是,我必须应用一个过滤器,并且可能有n个过滤器(名义数量,无论如何不超过128个)。我想编写一个函数,该函数可以接收n个字符串,并将它们与之间的逗号分隔组合。

我不知道参数的数量在javascript中是否可以是变量,以及它是否可以将数组作为javascript中的参数(我是JS的新手),但是我看不出有什么区别,因为变量很简单var并且任何地方都没有数据类型在JS中使用(我来自C ++ / Java背景,发现它确实令人困惑)。因此,我尝试将数组作为参数传递给函数,以使否。我可以处理的事情可以是动态的,由数组中的元素决定。

当我开始寻找解决方案时,我碰到了这个页面。之后,我最近遇到了这个线程该线程还引用了相同的链接,他们提供的格式对我没有好处。

为了清楚起见,让我提供我编写的函数定义。

/**
 * Utility method to build a comma-ed string from an array of strings
 * for the multiple-condition requests to the GA API
 */
function buildString(strArray)
{
    var returnString='';
    for(var x in strArray)
        returnString+=x+',';
    return returnString = returnString.substring(0, returnString.length - 1);
}
Run Code Online (Sandbox Code Playgroud)

这就是我所说的:

buildString.apply(this,[desc(visits),source])
Run Code Online (Sandbox Code Playgroud)

其中desc(visits)source都是字符串,所以我假设我要发送一个字符串数组。奇怪的是thisnullapply()调用buildString函数时,都给了我“ 0,1”作为返回值。

请告诉我我要去哪里了。我是否以错误的方式传递了数组?还是我的函数定义错误?还是有其他更简单的方法来实现我正在尝试的功能?

javascript arrays arguments function

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

arguments ×1

arrays ×1

function ×1

javascript ×1