当前位置: 首页 > 面试题库 >

JSON数组推送

魏煜祺
2023-03-14
问题内容

我有一个示例数组,用于将条目插入到YUI数据表中

var book = {
        "id" : "po-0167",
        "date" : new Date(1980, 2, 24),
        "quantity" : 1,
        "amount" : 4,
        "title" : "A Book About Nothing"
    };

我可以通过这样做获得相同的阵列吗?

    var book = [];

    var booktemp = {
        "id" : "po-0167"
    };
    book.push(booktemp);

    booktemp = {
        "date" : new Date(1980, 2, 24)
    };
    book.push(booktemp);

    booktemp = {
        "quantity" : 1
    };
    book.push(booktemp);

    booktemp = {
        "amount" : 4
    };
    book.push(booktemp);

    booktemp = {
        "title" : "A Book About Nothing"
    };
    book.push(booktemp);

我在这里尝试的是编写一个通用方法,该方法将遍历结果列表并在将来能够形成一个条目。

var resultsArray = [];
for( int i = 0; i < array.features.length; i ++)
{ 
    var resultsFeatureArray = [];
    for( att in array.features[i].attributes)
    {
        var temp = { 
            att : array.features[i].attributes[att]
        }
        resultsFeatureArray.push(temp);
    }
    resultsArray.push(resultsFeatureArray);
}

所以我怎样才能使数组与本书代码的第一部分相同?

添加了我的整个示例代码,带注释的书本数组似乎可以工作,但未注释的部分似乎无法显示行

<script type="text/javascript">

YAHOO.util.Event.addListener(window, "load", function() {

    YAHOO.example.Data = {
        bookorders: [
        ]
    }


    var bookorders = [];

    /*
    var book = {
        "id" : "po-0167",
        "date" : new Date(1980, 2, 24),
        "quantity" : 1,
        "amount" : 4,
        "title" : "A Book About Nothing"
    };
    */
    var book = [];

    var booktemp = {
        "id" : "po-0167"
    };
    book.push(booktemp);

    booktemp = {
        "date" : new Date(1980, 2, 24)
    };
    book.push(booktemp);

    booktemp = {
        "quantity" : 1
    };
    book.push(booktemp);

    booktemp = {
        "amount" : 4
    };
    book.push(booktemp);

    booktemp = {
        "title" : "A Book About Nothing"
    };
    book.push(booktemp);



    bookorders.push(book);

    YAHOO.example.Basic = function() {


        var myColumnDefs = [
            {key:"id", sortable:true, resizeable:true},
            {key:"date", formatter:YAHOO.widget.DataTable.formatDate, sortable:true, sortOptions:{defaultDir:YAHOO.widget.DataTable.CLASS_DESC},resizeable:true},
            {key:"quantity", formatter:YAHOO.widget.DataTable.formatNumber, sortable:true, resizeable:true},
            {key:"amount", formatter:YAHOO.widget.DataTable.formatCurrency, sortable:true, resizeable:true},
            {key:"title", sortable:true, resizeable:true}
        ];


        var myDataSource = new YAHOO.util.DataSource(bookorders);
        myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;

        myDataSource.responseSchema = {
            fields: ["id","date","quantity","amount","title"]
        };
        var myDataTable = new YAHOO.widget.DataTable("basic",
                myColumnDefs, myDataSource);

        return {
            oDS: myDataSource,
            oDT: myDataTable
        };
    }();


});

问题答案:

我尝试并找到了解决方案,因为在我按入后,att和值将成为对象

var temp = new Object();
    temp["id"] = "po-0167";
    temp["date"] = new Date(1980, 2, 24);
    temp["quantity"] = 1;
    temp["amount"] = 4;
    temp["title"] = "A Book About Nothing";

bookorders.push(temp);

这将使其显示在数据表中,而通用部分将通过使用temp [att] = attribute [att]进行迭代;



 类似资料:
  • 问题内容: 我在Javascript中有一个功能: data参数是一个JSON对象。 但是每次我单击按钮时,它都会覆盖本地存储中的数据。 有人知道怎么做这个吗? 问题答案: 您需要采取一些步骤将这些信息正确存储在localStorage中。但是,在开始编写代码之前,请注意,localStorage(当前) 不能 保存除字符串以外的任何数据类型。您将需要序列化阵列进行存储,然后将其解析回去以对其进行

  • 我需要一些帮助,所以我有一个这种格式的json 现在我需要使用js添加一个新数组,我不允许更改JSON的结构,所以现在,在我的js中,我有如下内容 现在,使用这些变量,需要在现有的JS文件中使用JS中的变量创建一个新块 因此,一旦添加了这些内容,JSON必须如下所示 感谢阅读!我试过不和,但还是想不通

  • 数组是值的有序集合,JSON 中的数组与 JavaScript 中的数组相似,同样需要使用方括号 定义,方括号中为数组中的若干值,值可以是 JSON 中支持的任意类型(例如字符串、数字、布尔值、对象、数组等),每个值之间使用逗号 分隔开,具体语法格式如下: [value_1, value_2, value_3, ..., value_N] 下面来看一个 JSON 数组的示例: 通过上面的示例可以看

  • 数组作为 JSON 对象[ "Google", "Runoob", "Taobao" ] JSON 数组在中括号中书写。 JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。 JavaScript 中,数组值可以是以上的 JSON 数据类型,也可以是 JavaScript 的表达式,包括函数,日期,及 undefined。 JSON 对象中的

  • 问题内容: 我正在尝试从url获取JSON数据。它是以对象的形式,我必须将对象数据推送到数组中。 我如上所述在my_json var中尝试过,我以对象形式存在json数据,现在我必须将该对象存储为var数据作为以下格式的数组 谁能帮我怎么做?谢谢 问题答案: 观察 如果只有一个对象,而您想将整个对象压入一个数组,则无需迭代该对象。 试试这个 : 代替 :

  • JSON数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。如图 1‑5所示: 图1-5 JSON数组 JSON 数组: JSON 数组在中括号中书写。 JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数值, 对象, 数组, 布尔值或 null),也可以是 JavaScript 的表达式,包括函数、日期、undef