如何在数组中推送对象?

时间:2016-12-22 15:59:45

标签: jquery

我有一个数组名称是dataObj。 dataObj数组有一些对象,但点击复选框后,dataObj数组应为空白并获取新对象。

Any mistake in below code. Thanks for your help
var dataObj = [];
var copyDataObj = [];
dataObj = <?php echo json_encode($travellerDetails); ?>
copyDataObj = dataObj;
$('.checkbox_check').click(function() {
    var checkbox_values = [];//all the checked value in this array
    $("input[name='airlines']:checked").each( function () {
        checkbox_values.push($(this).val());
    });
    dataObj = [];
    for(var i=0;i<=checkbox_values.length;i++){
        for(var j=0;j<=copyDataObj.length;j++){
            if(copyDataObj[j].operator1 == checkbox_values[i]){
                dataObj.push(copyDataObj[j]);//here is the problem
            }
        }
    }
    displayResult();
});
  

copyDataObj [j] = Object {           trip_id:“3”,           booking_reference:“test123”,           航班:“3”,           flight2:“0”,           dep_date:“2016-12-30”           ...       }

我的问题是如何在copyDataObj[j]数组中推送dataObj对象?

3 个答案:

答案 0 :(得分:2)

dataObj初始化为数组[]而不是字符串。然后你就可以将对象推入其中了:

var dataObj = [];
dataObj.push(copyDataObj[j]);

答案 1 :(得分:0)

您已将dataObj定义为字符串。它必须是一个能够将项目推入其中的数组。

dataObj = []

答案 2 :(得分:0)

首先将dataObj定义为数组 var dataObj = []; ,但是当您在click函数中清除它时,将其设置为字符串: dataObj =“”; 。应该再次 var dataObj = [];