函数与参数作为一个数组与对象javascript

时间:2015-06-10 06:51:24

标签: javascript

我遇到了一个问题,即我用一个包含内部对象的数组来提供一个Function。

var func = function (){
    var feeded = //here is my problem
    /*some code/*
}

var itemArray = [{"stat":49,"amount":156},{"stat":40,"amount":108},{"stat":5,"amount":207},{"stat":7,"amount":311}] //just an exsample
var answare = func(itemArray)

我如何将变量视为与itemArray相同,所以我可以在feeded上使用数组的方法?

我尝试过使用:

var feeded = [].slice.call(arguments)

var feeded = arguments

我无法使用for循环,然后获取内部的统计数据和金额。 (我不需要关闭行,因为谷歌脚本不需要它

3 个答案:

答案 0 :(得分:1)

您需要使该函数接受参数。只需在函数声明的括号中为参数添加一个合适的名称,如下所示:

var func = function(items){
    [...]
}

在函数内部,您只需使用它的名称即可访问该参数。在你的情况下,它将是这样的:

var func = function(items){
    var feeded = items;
}

您可以在javascript here

中详细了解各种功能

答案 1 :(得分:0)

实际上你可以用for循环

来迭代它们
var func = function (){
    var feeded = arguments;
    console.log(arguments);
    for(var i = 0; i < feeded[0].length; i++)
        console.log(feeded[0][i].stat);
}

var itemArray = [{"stat":49,"amount":156},{"stat":40,"amount":108},{"stat":5,"amount":207},{"stat":7,"amount":311}] //just an exsample
var answare = func(itemArray)

您可能忘记访问arguments[0]而不是arguments

答案 2 :(得分:0)

尝试:

var func = function (){
    var feeded = arguments; //is itemArray Array
    console.log(feeded)
    /*some code*/
}

var itemArray = [{"stat":49,"amount":156},{"stat":40,"amount":108},{"stat":5,"amount":207},{"stat":7,"amount":311}] //just an exsample
var answare = func.apply(null, itemArray)
相关问题