关于jq用each循环后数据如何插入数组对象

最近项目中遇到一点问题,用each循环后数据一直只能取出单独的插入数组,不能显示多维数组最后用for循环解决

        var arr = [];
        $( ".gameprop option:selected").each(function() {
            var id = $(this).val();
            var name = $(this).text();
            for (var i = 0; i < 1; i++) {
                var obj = {
                    type_id:id,
                    name:name,
                };
                arr.push(obj);
            }
            console.log(arr);
        });
        var arrr = [];
        $('.num').each(function(){
            // console.log($(this).val());
            var num = $(this).val();
            for (var i = 0; i < 1; i++) {
                var obj = {
                    num:num,
                };
                arrr.push(obj);
            }
            console.log(arrr);
        });

 获取所有下拉选中的值并循环出来,然后在获取input所有输入的值并循环输出

核心代码:

var arrr = [];

for (var i = 0; i < 1; i++) {
                var obj = {
                    num:num,
                };
                arrr.push(obj);
            } 

把获取到的数组传到后台,得到的是这样的,需要进行数组合并

但是常规的合并会变成下面这样 ,直接追加了

下面附上解决方法 ,用foreach逐条插入并用array_merge系统函数进行合并数组

foreach ($post['arr'] as $k => $v) {
        $data[]  = array_merge($v,$post['arrr'][$k]);
 }

最后的效果


版权声明:本文为qq_18484091原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。