【问题标题】:Convert array of Objects into single array ReactJS将对象数组转换为单个数组 ReactJS
【发布时间】:2020-05-10 17:58:12
【问题描述】:
0:
   EmpCode: "xxxx"
   EmpName: "tttt"
   EmpRole: "ccc"
   EmailId: "ffff"
   HeadQuarter: "zzz"
   Division :"yyy"

我的实际数据是上面的数据,我正在做一个 Object.keys(aboveSet) 来获取下面给定数组的键

 0: "EmpCode"
    1: "EmpName"
    2: "EmpRole"
    3: "Email Id"
    4: "Head Quarter"
    5: "Division"
    length: 5

我正在使用 Object.key() 函数来检索密钥。如何将此对象数组转换为单个数组,以便我的输出看起来像

0:
  EmpCode
  EmpName
  EmpRole
  EmailId
  Head Quarter
  Division

【问题讨论】:

  • 那么Object.values()呢?
  • 我不认为它是对象,对象没有长度..
  • 请分享您拥有的数据。
  • 另外请花时间查看如何创建minimal reproducible example
  • 数据看起来不像正确的 json/object.. @midhun 更新原始数据,.. 为什么你要添加 console.log 数据

标签: javascript arrays reactjs lodash


【解决方案1】:

原始问题中的对象:

const fields = {
  0: "EmpCode",
  1: "EmpName",
  2: "EmpRole",
  3: "Email Id",
  4: "Head Quarter",
  5: "Division",
}

const fieldArray = Object.values(fields);
console.log(fieldArray);

您编辑的对象:

const fields = {
   EmpCode: "xxxx",
   EmpName: "tttt",
   EmpRole: "ccc",
   EmailId: "ffff",
   HeadQuarter: "zzz",
   Division :"yyy",
};

const fieldArray = Object.keys(fields);
console.log(fieldArray);

如果由于某种原因您想要索引为 0 的数组中的那些(很难从您的问题中看出):

const fields = {
   EmpCode: "xxxx",
   EmpName: "tttt",
   EmpRole: "ccc",
   EmailId: "ffff",
   HeadQuarter: "zzz",
   Division :"yyy",
};

const fieldArray = [Object.keys(fields)];
console.log(fieldArray);

【讨论】:

  • 你找到解决办法了吗?
【解决方案2】:

由于您有一个对象数组,并且您想获取对象中的所有唯一键,您可以使用 Object.keys 从每个对象中获取所有键并将其添加到集合中

const data = [{
   EmpCode: "xxxx",
   EmailId: "ffff",
   HeadQuarter: "zzz",
   Division :"yyy",
}, {
   EmpCode: "xxxx",
   EmpName: "tttt",
   EmpRole: "ccc",
   EmailId: "ffff",
},{
   EmpCode: "xxxx",
   EmpName: "tttt",
   EmpRole: "ccc",
   EmailId: "ffff",
   HeadQuarter: "zzz",
   Division :"yyy"
}]
const res = new Set([].concat(...data.map(obj => Object.keys(obj))));
const uniqueKeys = [...res];
console.log(uniqueKeys);

【讨论】:

    【解决方案3】:

    您想在对象键的值中添加什么?此解决方案将键字符串值放在每个键下:

    let retValue = {};
    yourarray.forEach(item=>{retValue[item]=item});
    console.log([retValue]);
    

    【讨论】:

      猜你喜欢
      • 2019-05-08
      • 1970-01-01
      • 2019-02-12
      • 1970-01-01
      • 2022-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多