2014-10-28 79 views
0

我有下面的代码的情况: -

var dataSub = []; 

$.each(dataObj.EmployeeDetail, function (idx, obj) { 
      $.each(columnDb, function (idx1, obj1) { 
      dataSub.push(obj[obj1.title]); 
    }); 
}); 

dataObj.EmployeeDetail我有这样的数据: -

Object 0 : { Address1: "123",Address2: null,Category: 1,Children: 0,City: "Xyxz" } 
    Object 1 : { Address1: "456",Address2: null,Category: 1,Children: 0,City: "Abc" } 

columnDb我有这样的数据: -

Object 0 : title: "ADDRESS1" 
Object 1 : title: "CITY" 

正如您可以看到columnDB中的数据是大写(动态数据),我的dataSub始终保持为空,因为title它与dataObj.EmployeeDetail不匹配。

如何解决这个问题?

+0

我不认为你会比在这里更新dataObj.EmployeeDetail' – 2014-10-28 12:44:05

+0

所选答案的'键等很多运气:http://stackoverflow.com/a/ 12484507/344140应该为你提供你所需要的。哎呀,他说什么。 – 2014-10-28 12:48:53

+0

你可以修改'columnDb'吗? – Alnitak 2014-10-28 12:55:50

回答

0

试试这个:

var dataSub = []; 
    $.each(dataObj.EmployeeDetail, function(idx, obj) { 
     var array = $.map(obj, function(value, index) { 
      return [value]; 
     }); 
     dataSub.push(array); 
     $.each(columnDb, function(idx1, obj1) { 
      dataSub[idx].push(obj1.title); 
     }); 
    }); 
    console.log(dataSub); 
+0

我得到一个错误:'未捕获的类型错误:无法读取属性'推'未定义' – Anup 2014-10-28 13:05:49

+0

我做了一些编辑。再试一次 – CodeGodie 2014-10-28 13:06:15