首页 > 解决方案 > 过滤所有键的数组的javascript对象

问题描述

我是 JavaScript 新手。假设我有以下数组对象

const object1 = {
  name: ['David', 'Juan', 'Simon', 'Lukas'],
  age: [41, 22, 33, 50],
  salary: [100, 80, 120, 150]
};

我想创建一个新对象来过滤比某个值(例如 30 岁)大的人的数据。我正在寻找过滤器,Object.fromEntries,Object.entries,但我找不到可能的解决方案。结果应该是

NewObject {
  name: Array['David', 'Simon', 'Lukas'],
  age: Array[41, 33, 50],
  salary: Array[100, 120, 150]
};

感谢您的任何建议

标签: javascriptarraysobject

解决方案


将您当前的结构转换为更方便的数据结构(JSON),如下所示:


const workers = [
  {
    name   : 'David',
    age    : 41,
    salary : 100
  },
  {
    name   : 'Juan',
    age    : 22,
    salary : 80
  },
  {
    name   : 'Simon',
    age    : 33,
    salary : 120
  },
  {
    name   : 'Lukas',
    age    : 50,
    salary : 150
  }
];

const olderThan30 = workers.filter(worker => worker.age > 30);

console.log(olderThan30);
// This console log will return this, an array of JSON objects that match the criteria of the filter function.
// [
//  { name : "David", age : 41, salary : 100 },
//  { name : "Simon", age : 33, salary : 120 },
//  { name : "Lukas", age : 50, salary : 150 }
// ]

我希望这将有所帮助。


推荐阅读