首页 > 解决方案 > 如何在Javascript中用旧数组制作新数组

问题描述

我正在尝试清理这个数组:


 [
    {
      "Cpf": null,
      "Nascimento": null,
      "Sexo": null,
      "OnlyPerson": false,
      "IsFinanc": false,
      "Senha": null,
      "ConfirmaSenha": null,
      "Remover": false,
      "TipoStr": null,
      "FiltroStr": null,
      "IdAgenciaLogarComo": 0,
      "DontHashPass": false,
      "IsPessoaSimples": false,
      "IsVisitante": false,
      "Permited": false,
      "Id": 21980,
      "Nome": "arrozfeijao",
      "Ativo": true,
      "Criacao": "2021-08-19T14:09:06.173",
      "UltimaAlteracao": null,
      "Email": "arrozfeijao@gmail.com",
      "IdAgencia": 1,
      "IdEndereco": null,
      "IdPermissao": 4,
      "Observacoes": null,
      "Endereco": {
        "Id": 0,
        "Cep": null,
        "Logradouro": null,
        "Numero": null,
        "Complemento": null,
        "Bairro": null,
        "Estado": null,
        "Cidade": null
      },
      "Parceiro": null,
      "Contato": [],
      "Permissao": {
        "Id": 4,
        "Descricao": "Cliente",
        "Pessoa": []
      },
      "AlterarSenha": [],
      "Rede": [],
      "Provider": [],
      "AlertaPreco": [],
      "Pedido2": [],
      "_PageNumber": 0,
      "PageNumber": 0,
      "PageSize": 0,
      "OrderBy": null,
      "OrderDesc": false
    }
  ]

该数组是在表格中选中的复选框-> 在此处输入图像描述 我需要一个函数来清理数组 fo 每次我再选择一个复选框。我已经尝试将我需要的所有内容送到新变量,但是如果选择其他复选框(带有其他信息)不起作用......

我需要将这些信息导出到 CSV,但我不需要所有这些,我只想:

我知道 ai 需要一个for,我只是不知道如何制作这个功能:c

标签: javascriptarraysfunctionvue.js

解决方案


由于看起来您的数据属于一个人并且可能有多个人,因此这是一个解决方案:

声明你的数组:

data: function () {
  return {
    oldArray: [],
    includesArray: ["Cpf", "Nascimento", "Sexo", "Id", "Nome", "Ativo", "Criacao", "UltimaAlteracao", "Email", "Observacoes", "Endereco"],
    newArray: []
  }
}

oldArray您的问题中的数据includesArray是否是您要传输到新数组的键,并且newArray将具有此数据。

将此添加到您的组件中:

created() {
    for (const [key] of Object.entries(this.oldArray)) {
      let tempObject = {};
      for (const [keys, values] of Object.entries(this.oldArray[key])) {
        if (this.includesArray.includes(keys)) {
          tempObject[keys] = values;
        }
      }
      this.newArray[key] = tempObject;
    }
  }

推荐阅读