Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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 jQuery:向每个循环中的数组添加对象不起作用_Javascript_Jquery_Push_Each - Fatal编程技术网

Javascript jQuery:向每个循环中的数组添加对象不起作用

Javascript jQuery:向每个循环中的数组添加对象不起作用,javascript,jquery,push,each,Javascript,Jquery,Push,Each,当单击某个按钮时,我正在遍历DOM元素。我已将classfinish proc附加到按钮上,因此当单击时将激活此功能: <script> $(document).on('click', '.finish-proc', function () { var communities = []; var $this, $thisDay, input, inputDay, text, textDay, obj, objDay; $('

当单击某个按钮时,我正在遍历DOM元素。我已将class
finish proc
附加到按钮上,因此当单击时将激活此功能:

<script>
    $(document).on('click', '.finish-proc', function () {
        var communities = [];

        var $this, $thisDay, input, inputDay, text, textDay, obj, objDay;

        $('.panel-default').each(function (i) {
            var maxPeople = '.' + $(this).attr('data-community') + '-max-people';
            var dayInfoRow = '.' + $(this).attr('data-community') + '-day-info';
            obj = {};
            obj["maxPeople"] = $(maxPeople).val();

            var daysArrayInLoop = [];

            $(dayInfoRow).each(function (j) {
                var objDay = {};

                var dayString = '.' + $(this).attr('data-community') + '-day-' + (j + 1);
                var dayStringStart = '.' + $(this).attr('data-community') + '-day-' + (j + 1) + '-start';
                var dayStringEnd = '.' + $(this).attr('data-community') + '-day-' + (j + 1) + '-end';

                objDay["dayString"] = $(dayString).val();
                objDay["dayStringStart"] = $(dayStringStart).val();
                objDay["dayStringEnd"] = $(dayStringEnd).val();

                daysArrayInLoop.push(objDay);
            }

            obj["dayArray"] = daysArrayInLoop;

            communities.push(obj);
        }
   }
</script>
错误如下:

daysArrayInLoop.push不是一个函数

谁能告诉我这是为什么


编辑-我已尝试更改
var daysArrayInLoop=[]
to
var daysArrayInLoop={},仍然收到相同的错误

请在推入对象后尝试此代码定义数组

var daysArrayInLoop = new Array();
    daysArrayInLoop.push(obj);

请尝试在推入对象后定义数组

var daysArrayInLoop = new Array();
    daysArrayInLoop.push(obj);

你能试试
daysArrayInLoop.push(1)&查看它是否给出相同的错误。在推送和检查控制台是否显示为数组之前,还要执行
console.log(daysArrayInLoop)
。你写的代码还可以;如果您在任何地方定义了
dayinfrow
,它应该可以工作?基本上,数组
daysArrayInLoop
定义正确,并且在您使用其
.push()方法时在范围内。所以肯定还有别的东西..你的代码看起来不错。你确定错误在同一行吗?您是否在页面的其他位置使用了
daysArrayInLoop
?是否尝试使用var objDay=new Array();或var objDay=[]?你能试试
daysArrayInLoop.push(1)&查看它是否给出相同的错误。在推送和检查控制台是否显示为数组之前,还要执行
console.log(daysArrayInLoop)
。你写的代码还可以;如果您在任何地方定义了
dayinfrow
,它应该可以工作?基本上,数组
daysArrayInLoop
定义正确,并且在您使用其
.push()方法时在范围内。所以肯定还有别的东西..你的代码看起来不错。你确定错误在同一行吗?您是否在页面的其他位置使用了
daysArrayInLoop
?是否尝试使用var objDay=new Array();或var objDay=[]?成功了。我不明白它是如何工作的,而不是放置
var daysArrayInLoop=[]
函数数组();var b=[];警报(a.is);//=>'斯巴达警报(b.is);//=>未定义的a.push('Woa');//=>类型错误:a.push不是函数b.push('Woa');//=>1(确定)
new Array()正在创建一个新的运行时数组。无需额外处理,谢谢您的解释和链接参考!我现在明白了。:)成功了。我不明白它是如何工作的,而不是放置
var daysArrayInLoop=[]
函数数组();var b=[];警报(a.is);//=>'斯巴达警报(b.is);//=>未定义的a.push('Woa');//=>类型错误:a.push不是函数b.push('Woa');//=>1(确定)
new Array()正在创建一个新的运行时数组。无需额外处理,谢谢您的解释和链接参考!我现在明白了。:)