创建一个对象数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建一个对象数组相关的知识,希望对你有一定的参考价值。

我有以下代码使用JQuery.UI.Sortable触发,它的行为意外。

我需要在这个函数中创建一个对象数组,并在每次调用时返回它。

function saveOrder(el) {
    var slideOrder = new Array();
    $(el).each(function() {
        var slideId = $(this).attr("data-llp-slide-id"),
            slideNo = $(this).attr("data-llp-slide-number"),
            slideOb = {slideId,slideNo};
        slideOrder.push(slideOb);
    });
    return slideOrder;
}

我得到的是返回多个对象/数组

按照@Rhumborl的要求触发上述功能的代码

function init() {
    $('.slide-list').sortable({
        connectWith: ".connected-sortable",
        stack: '.connected-sortable ul',
        stop: function(e){
            $(".slide-item").each(function(i, el){
                var hash = $(el).index()+1;
                $(el).attr('data-llp-slide-number',hash);
                $(el).find('[data-llp-slide-number-display]').text(hash);
                var newOrder = saveOrder(el);
                console.debug(newOrder);
            });
        }
    }).disableSelection();
}
答案

在您提到的上下文中,它是javascript中的无效对象。你不能这样推

slideOb = {slideId,slideNo};
slideOrder.push(slideOb);

首先定义slideOb是一个有效的对象,然后按下面推送

  slideOb = {'id': slideId, 'no':slideNo};
  slideOrder.push(slideOb);

现在slideOrder是一个本地数组,它总是保存一个数组对象。使其成为全球性的,将更多阵列推入其中。

以上是关于创建一个对象数组的主要内容,如果未能解决你的问题,请参考以下文章

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

在 ViewPager 中使用视图创建动态片段

JavaScript单行代码,也就是代码片段

web代码片段

Alamofire 文件上传出现错误“JSON 文本未以数组或对象开头,并且允许未设置片段的选项”

如何创建片段以重复变量编号中的代码行