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