【问题标题】:How to match same values in the array如何匹配数组中的相同值
【发布时间】:2022-11-19 22:20:17
【问题描述】:

例如,如果这是我的数组:

[
  {a: "b"},
  {a: "b"},
  {a: "c"},
  {a: "c"},
]

我如何修改数组,以便如果有更多具有相同值的a,它们将被放入相同的索引中:

[
  {
    a: "b",
    a1: "b"
  },
  {
    a: "c",
    a1: "c"
  },
]

【问题讨论】:

    标签: javascript arrays typescript


    【解决方案1】:

    希望这会有所帮助:

    var arr = [
      {a: "b"},
      {a: "b"},
      {a: "c"},
      {a: "c"}
    ];
    
    var arr2 = [];
    var arr3 = [];
    
    Object.keys(arr).forEach(key => {
        Object.keys(arr[key]).forEach(keyx => {
            if (!(arr[key][keyx] in arr2)) {
                arr2[arr[key][keyx]] = [];
            }
            var k = keyx;
            var x = 1;
            var i = true;
            while (i === true) {
                if (!(k in arr2[arr[key][keyx]])) {
                    i = false;
                    arr2[arr[key][keyx]][k] = arr[key][keyx];
                }
                k = keyx + x;
                x++;
            }
        })
    });
    
    for (i in arr2) {
        arr3.push(arr2[i]);
    }
    
    //arr3 is the expected array
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-11
      • 2014-11-02
      • 2020-07-01
      • 2010-11-13
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      相关资源
      最近更新 更多