如何在数组循环中过滤数据
how to filter data in array loop
在我的数组中是这样的,
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 myColumnDefs = [{ a: "hh", b: "hh", c: "jk", d: "ggh", e: "hvh" }, { a: "dd", b: "gg", d: "nn", e: "rr", f: "jj" }],
result = function (array) {
var r = { keys: [], data: [] };
array.forEach(function (a) {
r.data.push(Object.keys(a).map(function (k) {
!~r.keys.indexOf(k) && r.keys.push(k);
return a[k];
}));
});
return r;
}(myColumnDefs);
document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');
您可以使用map()
和indexOf()
并执行以下操作
var myColumnDefs = [
{
a: "hh",
b: "hh",
c: "jk",
d: "ggh",
e: "hvh"
},
{
a: "dd",
b: "gg",
d: "nn",
e: "rr",
f: "jj"
}
];
var arr1 = [],
arr2 = [];
// iterate over `myColumnDefs` array and generate value array
arr2 = myColumnDefs.map(function(v, i) {
// get keys from object
var keys = Object.keys(v);
// iterate over key values and generate the value array and then return
return keys.map(function(k) {
// check key value is in `arr1`, push if not
if (arr1.indexOf(k) == -1)
arr1.push(k);
// return corresponding value based on key
return v[k];
});
});
document.write('First Array : <pre>' + JSON.stringify(arr1, null, 3) + '</pre> Second Array : <pre>' + JSON.stringify(arr2, null, 3) + '</pre>');
假设mysecondarray具有相同顺序的值数组数组。
尝试
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));
相关文章:
- 通过API调用过滤数据
- 如何在D3.js中绘制地图投影上的点,并使用范围滑块过滤数据
- 如何使用javascript、jquery或其他javascript框架过滤数据
- 在解析时使用变量过滤数据
- 如何用使用剔除数据和“数据”两者计算的数据来过滤数据;外部“;数据
- d3在鼠标悬停上过滤数据之后从选择中提取值
- AngularJS-显示过滤数据的长度
- 如何在 Angular js 中按日期过滤数据
- 如何在数组循环中过滤数据
- Javascript - 使用文本输入框过滤数据
- 如何在数组循环 222 中过滤数据
- 基于动态复选框过滤数据 角度 JS中的类别
- 从数组 java 脚本中过滤数据
- Angular JS 搜索过滤器不会使用 Firebase 过滤数据
- 如何在 Angular js 中根据严格匹配过滤数据
- JQuery - 使用不同输入的多个筛选器过滤数据属性
- 如何在angularjs中按日期范围过滤数据
- 如何在角度js中使用日期过滤数据
- 如何在Angular js中基于两个自定义过滤器过滤数据
- Asp.net MVC 3过滤数据然后传递到JSON中