如何在数组循环中过滤数据 [英] how to filter data in array loop

查看:67
本文介绍了如何在数组循环中过滤数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的数组中就是这样,

In my array is like this,

var myColumnDefs = [

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

    {a: "dd", b: "gg", d: "nn", e: "rr", f: "jj"},.....
]

我想过滤数据并在新数组中插入数据

I want to filter data and insert data in new array like this

var newarray = {a,b,c,d,e,f}

&另一个数组

var mysecondarray = [

                {hh,hhjk,ggh,hvh},

                {dd,gg,nm,rr,jj},....
]


推荐答案

您可以使用 map() indexOf() 并做这样的事情

You can use map() and indexOf() and do something like this

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>');

这篇关于如何在数组循环中过滤数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆