我遇到了一个问题,即我用一个包含内部对象的数组来提供一个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循环,然后获取内部的统计数据和金额。 (我不需要关闭行,因为谷歌脚本不需要它
答案 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)