Javascript 如何针对特定条件缩小数组?

Javascript 如何针对特定条件缩小数组?,javascript,arrays,Javascript,Arrays,我有一个数组: results = [ {"Created Date ": "20181012", "Created By ": "A", "Job Number ": "001", "Department": "FS"}, {"Created Date ": "20181012", "Created By ": "B", "Job Number ": "002", "Department": "DS"}, {"Created Date ": "20181012", "Created

我有一个数组:

results = [
  {"Created Date ": "20181012", "Created By ": "A", "Job Number ": "001", "Department": "FS"},
  {"Created Date ": "20181012", "Created By ": "B", "Job Number ": "002", "Department": "DS"},
  {"Created Date ": "20181012", "Created By ": "C", "Job Number ": "004", "Department": "FS"}
]
每个值在某个时候都会如下所示。(不更改空白字符和列顺序,但列名是固定的)

现在,我只想得到一个新数组,它包含3列的值,“Created By”,“Created Date”和“Job Number”,并按特定顺序排列。预期值应为:

results = [
  {"20181012", "A", "001"},
  {"20181012", "B", "002"},
  {"20181012", "C", "004"}
]

有什么好的解决方案吗?

首先请注意,对象没有可靠的顺序。所以第一列或第二列没有任何意义

但是,由于您知道要获取其值的键,因此可以使用并同时考虑键的两种变化来说明额外的字符:

var结果=[{
“创建日期”:“20181012”,
“创建人”:“A”,
“作业编号”:“001”,
“部门”:“财政司”
},
{
“创建日期”:“20181012”,
“创建人”:“B”,
“作业编号”:“002”,
“部门”:“DS”
},
{
“创建日期”:“20181012”,
“创建人”:“C”,
“作业编号”:“004”,
“部门”:“财政司”
}
]
var输出=结果.map(d=>[
d[“创建日期”]| | d[“创建日期”],
d[“创建人”]| | d[“创建人”],
d[“工作编号”]| | d[“工作编号”]
]);

控制台日志(输出)这演示了使用数组对象的map()方法的另一种方法,如下所示:

var结果=[{
“创建日期”:“20181012”,
“创建人”:“A”,
“作业编号”:“001”,
“部门”:“财政司”
},
{
“创建日期”:“20181012”,
“创建人”:“B”,
“作业编号”:“002”,
“部门”:“DS”
},
{
“创建日期”:“20181012”,
“创建人”:“C”,
“作业编号”:“004”,
“部门”:“财政司”
}
];
Array.prototype.remove=函数(索引){
这是一个拼接(索引1);
}
var nu_arry=results.map(项=>{
设d=[];
设keys=Object.keys(项);
keys.remove(3);//删除部门密钥名称
键。forEach(功能(键){
d、 推(项[键]);
});
返回d;
});

控制台日志(nu_arry)
如果属性名是固定的,那么您可以使用
.map
来获取所需的属性顺序。在访问它们时,属性顺序在对象中并不重要。我已尝试创建.map({'Created Date':Created':Created By':creator,'Job Number':tracknum})=>({Created,creator,tracknum}),但它不适用于键中有空值的数组。{“创建日期”:“20181012”,“创建人”:“A”,“工作编号”:“001”,…}@-coder@silder附加一个问题。如果我想在map()中循环时删除空/空白值,我尝试了以下操作:e、 g.var输出=results.map(d=>d['Tracking Number']和&d['Created Date']?[d['Created Date'],d['Job Number']]:'';还必须使用另一种方法来移除空白项。可以在map()中处理吗?@Ian您必须使用
过滤器
<代码>过滤器< /代码>空白值,然后使用<代码> map < /代码>。
results = [
  {"20181012", "A", "001"},
  {"20181012", "B", "002"},
  {"20181012", "C", "004"}
]