如何在javascript中使用每个结果后将结果放入数组中?

时间:2015-08-20 01:45:07

标签: javascript arrays each

嗨,我有这个功能:

changeTarea: function() {

    var self = this;
    $("#select_tarea_id").change(function() {
        var id_tarea = $("#select_tarea_id").val();

        $.each(self.objTareasFlot, function(index,value) {

            for(var i = 0; i < value.length; i++) {

                if(value[i].Id == id_tarea) {

                    self.objTareasFlotFinal['id']=value[i].Id;
                    self.objTareasFlotFinal['id_pro']=value[i].Id_proyecto;
                    self.objTareasFlotFinal['tarea']=value[i].nombre_tarea;
                    self.objTareasFlotFinal['porcentaje']=value[i].porcentaje;

                    console.info(self.objTareasFlotFinal);
                }
            }
       });

    });
}

功能打印:

enter image description here

但我需要一个数组中的3个结果

例如:

enter image description here

我该如何使用该功能?对不起我的英语,我试着解释更好的方法

3 个答案:

答案 0 :(得分:0)

您可以声明一个数组并将填充的对象推入其中。像这样:

changeTarea: function(){

var self = this;
var container[];

$("#select_tarea_id").change(function() {
    var id_tarea = $("#select_tarea_id").val();

$.each(self.objTareasFlot, function(index,value) {

    for(var i = 0; i < value.length; i++){

        if(value[i].Id == id_tarea){

        self.objTareasFlotFinal['id']=value[i].Id;
        self.objTareasFlotFinal['id_pro']=value[i].Id_proyecto;
        self.objTareasFlotFinal['tarea']=value[i].nombre_tarea;
        self.objTareasFlotFinal['porcentaje']=value[i].porcentaje;

        console.info(self.objTareasFlotFinal);
        container.push(self.objTareasFlotFinal);
        }

    }


 });

});},

答案 1 :(得分:0)

在函数内创建一个数组变量var result = [];

在你的循环中push()将对象放入其中;

results.push(self.objTareasFlotFinal);

答案 2 :(得分:0)

    var newArray = [];

    self.objTareasFlotFinal['id']=value[i].Id;
                        self.objTareasFlotFinal['id_pro']=value[i].Id_proyecto;
                        self.objTareasFlotFinal['tarea']=value[i].nombre_tarea;
                        self.objTareasFlotFinal['porcentaje']=value[i].porcentaje;

    newArray.push(self.objTareasFlotFinal);

// console.log should show the results
console.log(newArray);

如果此数组是全局的并且可以在函数外部访问,那么您可能希望首先在函数外部定义newArray,并在函数中从中删除var。

然后每次有人运行该函数时,都会向数组中添加一个新对象。

或者,您可以将数组作为最终值返回:

     var newArray = [];

        self.objTareasFlotFinal['id']=value[i].Id;
                            self.objTareasFlotFinal['id_pro']=value[i].Id_proyecto;
                            self.objTareasFlotFinal['tarea']=value[i].nombre_tarea;
                            self.objTareasFlotFinal['porcentaje']=value[i].porcentaje;

        newArray.push(self.objTareasFlotFinal);

return newArray;