Javascript 如何过滤数组循环中的数据

Javascript 如何过滤数组循环中的数据,javascript,object-literal,Javascript,Object Literal,在我的数组中是这样的 var myColumnDefs = [ {a: "hh", b: "hh", c: "jk", d: "ggh", e: "hvh"}, {a: "dd", b: "gg", d: "nn", e: "rr", f: "jj"},..... ] 我想像这样过滤数据并在新数组中插入数据 var newarray = {a,b,c,d,e,f} &另一个数组 var mysecondarray = [ {hh,hhjk

在我的数组中是这样的

var myColumnDefs = [

    {a: "hh", b: "hh", c: "jk", d: "ggh", e: "hvh"},

    {a: "dd", b: "gg", d: "nn", e: "rr", f: "jj"},.....
]
我想像这样过滤数据并在新数组中插入数据

var newarray = {a,b,c,d,e,f}
&另一个数组

var mysecondarray = [

                {hh,hhjk,ggh,hvh},

                {dd,gg,nm,rr,jj},....
]
您可以使用执行类似操作

var newarray = {a,b,c,d,e,f}
var myColumnDefs=[
{
答:"hh",,
b:“hh”,
c:“jk”,
d:“啊”,
e:“hvh”
},
{
答:“dd”,
b:“gg”,
d:“nn”,
e:“rr”,
f:“jj”
}
];
var arr1=[],
arr2=[];
//迭代'myColumnDefs'数组并生成值数组
arr2=myColumnDefs.map(函数(v,i){
//从对象获取关键帧
var keys=Object.keys(v);
//迭代键值并生成值数组,然后返回
返回键。映射(函数(k){
//检查键值是否在“arr1”中,如果不在,则按
if(arr1.indexOf(k)==-1)
arr1.推力(k);
//根据键返回相应的值
返回v[k];
});
});

write('第一个数组:'+JSON.stringify(arr1,null,3)+'第二个数组:'+JSON.stringify(arr2,null,3)+''假设您想要数组中的结果,那么这应该是可行的。结果将生成一个对象以供进一步处理

var columns = {}; //newarray 
var values = []; //mysecondarray 
myColumnDefs.forEach(function(value){

   var arr = [];
   for (var key in value)
   {
      columns[key] = true;
      arr.push(value[key]);
   }
   values.push(arr);

})
console.log("columns are " + JSON.stringify(Object(columns).keys, 0, 4));
console.log("values are " + JSON.stringify(values, 0, 4));
var myColumnDefs=[{a:“hh”,b:“hh”,c:“jk”,d:“ggh”,e:“hvh”},{a:“dd”,b:“gg”,d:“nn”,e:“rr”,f:“jj”},
结果=函数(数组){
var r={keys:[],data:[]};
array.forEach(函数(a){
r、 数据。推送(对象。键(a)。映射(函数(k){
!~r.keys.indexOf(k)和&r.keys.push(k);
返回[k];
}));
});
返回r;
}(myColumnDefs);

document.write(“”+JSON.stringify(结果,0,4)+“”)假设mysecondarray具有相同顺序的值数组

试一试


{hh,hhjk,ggh,hvh},
既不是有效的数组也不是有效的json请确切说明您需要什么,并提供一个更真实有效的示例。否则你将被否决:s