Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS-JSON/构造函数中的数组传递变量(自定义库)_Javascript_Arrays_Json_Object_Constructor - Fatal编程技术网

Javascript JS-JSON/构造函数中的数组传递变量(自定义库)

Javascript JS-JSON/构造函数中的数组传递变量(自定义库),javascript,arrays,json,object,constructor,Javascript,Arrays,Json,Object,Constructor,如果我按照文档进行操作,设置数据输入的正确方法是: $("#container").flipBook({ css:"css/style.css", pages:[ { src:"images/book1/page1.jpg", thumb:"images/book1/thumb1.jpg", title:"Cover", htmlContent:'' }, { src:"images/bo

如果我按照文档进行操作,设置数据输入的正确方法是:

$("#container").flipBook({    

css:"css/style.css",
pages:[  
    {
       src:"images/book1/page1.jpg",
       thumb:"images/book1/thumb1.jpg",
       title:"Cover",
       htmlContent:''
    },
    {
       src:"images/book1/page2.jpg",
       thumb:"images/book1/thumb2.jpg",
       title:"Page two"
    }, 
    etc.. etc..
  ],
  btnNext:true,
  btnPrev:true,
  btnZoomIn:true,
  btnZoomOut:true,
  other parameters...
所以,我想动态地插入数据。 我声明一个新数组,然后滚动xml文件中的所有页面,创建一个对象,最后将该对象推到声明的第一个数组中。 var page=新数组()

我试着把
page
[page]
JSON.parse(JSON.stringify(page))
。我不知道如何在构造函数中传递变量

这似乎是一个很简单的问题,但我找不到任何解决办法。
请帮帮我:)

我想这应该行得通:

var pages = [];
$(xml).find('page').each(function(i) {
  var singlepage = {
    src: "image1.jpg",
    thumb: "thum1.jpg",
    title: "Page " + ++created;
  };
  pages.push(singlepage);
});
您只需传递
页面
对象:

 $("#tabs-" + id + "").flipBook({
   pages: pages
   // ...
 });

主要区别:page.push(JSON.stringify(singlepage));->页面推送(单页);对吧?:)@FabioSorre:没错,因为您需要一个对象数组,而stringify会将一个对象转换为JSON字符串,这在这里是不需要的。@FabioSorre:我建议这样做。(在使用一个不熟悉的函数之前一定要阅读文档!)@FabioSorre:这完全没问题,问题也没问题,格式也很好,所以别忘了检查这个方法的作用,因为你可能需要知道,有一天,知道数组、对象和json字符串之间的区别总是很好的;)另外,如果你的问题解决了,别忘了接受andrusieczko的答案@FelixKling谢谢你的建议,我知道stringify做什么;)我使用它是因为之前我需要itChange
page.push(JSON.stringify(singlepage))
页面。推送(单页)
页面:页面,
应该可以正常工作<代码>JSON.stringify
将对象转换为字符串。但是您需要一个对象,所以不要转换它。显然,从我看到的情况来看,
pages
属性的预期输出是一个对象数组,因此只需删除
JSON.stringify
并设置
pages:page
 $("#tabs-" + id + "").flipBook({
   pages: pages
   // ...
 });