将对象中的对象作为参数传递给Funciton
Passing in Objects within an Object as Arguments to a Funciton
我被一个看似简单的问题难住了。我目前有一个Object,里面有多个Object。我试图动态地获取这些对象(无论数量如何),并将它们作为单独的参数传递到函数中。我不想手动调用该函数,因为对象的数量可能因使用而异。
我在这里包含了一个代码示例(为了可读性,我试图简化):http://jsfiddle.net/z8mtc8jk/1/
代码也列在下面:
var objectofObjects = {};
objectofObjects.obj1 = {key:"lol"},
objectofObjects.obj2 = {key:"rofl"},
objectofObjects.obj3 = {key:"lmao"};
console.log(objectofObjects);
console.log(Object.keys(objectofObjects).length + " is the number of objects inside the object");
function multipleArguments(arg1, arg2, arg3) {
console.log(Object.keys(objectofObjects));
}
//how can I add the objects within the objectofObjects as arguments to this function,
//without gaving to call it like this...
multipleArguments(objectofObjects.obj1, objectofObjects.obj2, objectofObjects.obj3);
非常感谢您的帮助。
提前感谢!
multipleArguments.apply(this,Object.keys(objectofObjects).map(function(key){return objectofObjects[key]}))
传递对象的对象。。。
multipleArguments(objectofObjects);
在你的功能上,处理里面的物体。
function multipleArguments(objcs) {
for (var o in objcs){
// do your stuff here
}
}
如果您需要作为另一个对象的成员可访问的对象,则需要通过迭代其键来构建包含对象的数组。像这样:
var args = [], keys = Object.keys(objectofObjects), i;
for (i = 0; i < keys.length; i++)
args.push(objectofObjects[keys[i]]);
yourFunction.apply(window, args);
否则,只需将它们存储在一个数组中,这样就有了arrayOfObjects
,并直接将其用于apply
调用。
我想我会把对象放在一个数组中,然后用对象数组的每个索引作为函数的参数来调用函数。
for(int i = 0; i < objectsArray.length; i++) {
myFunction(objectsArray[i]);
}
相关文章:
- 如何将javascript对象作为参数传递到c#web服务中
- 将对象作为参数传递时的 Javascript 函数作用域
- 将对象作为参数传递后的未定义属性
- 什么时候需要在javascript中的函数中将对象作为参数传递
- 如何使用没有闪耀模板的角度流星将参数传递给辅助对象
- 如何将对象参数传递给事件处理程序
- 如何在ng重复中的ng单击中将对象作为参数传递?AngularJS
- 将对象作为参数传递给指令
- JS 函数将对象作为输入,并返回一个对象,该对象对作为参数传递的对象执行操作
- 处理在 JavaScript 中作为参数传递的空对象
- 通过将参数传递给我们的构造函数来创建唯一的对象
- 在 javascript 中通过引用传递一个对象参数
- 使用 Function.prototype.bind.apply(Obj, args) 将参数传递给对象,只传递第一个元
- 作为参数传递到函数中的对象的引用是否会更改
- 如何使用 javascript 访问在函数中传递的对象参数
- jQuery - 基于作为函数参数传递的对象构建动态 if 语句
- 停止对作为函数参数传递到新列表的对象引用
- 我正在寻找一种智能方法来检查传递给函数的对象参数
- Javascript 将对象作为函数参数传递
- 在对象上调用方法或将对象作为函数参数传递的差异