javascript - 创建一组对象

标签 javascript jquery arrays jquery-ui

我有以下代码,它是使用 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 是一个本地数组,它总是包含一个数组对象。将其设为全局以将更多数组插入其中。

关于javascript - 创建一组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49050982/

相关文章:

javascript - 使用 jquery 动态添加 Canvas

php - 如何将 ARRAY 作为键值对添加到关联数组

Javascript - 为什么我的应用程序认为这个数组是空的?

python - 如何在没有 2 个 for 循环的情况下迭代矩阵

javascript - 响应式(Reactive)(基于模型)形式的 Angular 2 md-radio 按钮不起作用并停止 md-input 显示

javascript - Jest 类型错误 : fetch is not a function

javascript - 显示 block 链接问题内的链接,两个链接都激活

javascript - 如何使链接不可点击?

javascript - 在 svg 路径中​​动态绘制箭头不起作用

javascript - 如何在博客中隐藏主页中的正文描述