我有一串需要转换为函数参数的javascript对象。
该字符串如下所示:
"{ "item1": "foo 1", "item2": "bar 1" }, { "item1": "foo 1", "item2": "bar 2" }"
我可以连接“ []”并调用JSON.parse将其转换为有效的数组,但是,这不能解决我的问题,因为该功能需要它们是单独的对象而不是对象数组。
前任:
functionCall({ "item1": "foo 1", "item2": "bar 1" }, { "item1": "foo 1", "item2": "bar 2" });
我永远不会知道该字符串中将包含多少个对象,因此我也不知道函数应该接受多少个参数。
我希望能够将多个对象添加到一个变量中,例如:
var objects = { "item1": "foo 1", "item2": "bar 1" }, { "item1": "foo 1", "item2": "bar 2" }
然后我可以打电话
functionCall(objects);
有没有办法完成类似的事情或我可以采取的另一种方法?
您可以使用Function.prototype.apply()
:
functionCall.apply(window, objects);
(替换window
为您希望函数具有的任何范围。)
第二个参数是对象数组,因此继续将对象放入数组中,然后使用apply
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句