典型情况:某些应用程序将数据存储在数据库的外部文件中。理想情况下,数据结构应具有易于从程序访问任何所需值的结构。但是实际情况有所不同:我们需要将原始数据转换为其他结构,这可能很容易从代码中访问。此转换过程的名称是什么?
可能错误的答案:“映射”。据我所知,“映射”是两个数据集之间一致性的定义。在这个问题中,我们正在考虑单个数据集。
示例:我们收到了以下数据:
const rawData = {
foo: {
a: 'asdf',
b: 'nhyt'
},
bar: {
a: 'gfdsa',
b: 'sdasdf'
}
}
但是我们希望通过b
值进行迭代。因此,在此之前,我们需要(在这里“ transform”最合适的同义词)将其更改为:
const preprocessedData = { // optimized? mapped? reduced? reshaped?
[rawData.foo.b]: {
name: 'foo',
a: 'asdf'
},
[rawData.bar.b]: {
name: 'bar',
a: 'gfdsa'
}
}
请注意,现在我们不讨论如何重塑数据以使其更易于访问。我只想知道,当我们使数据更易于访问时,如何称为过程。应该是“映射”或“优化”之类的东西,但我想它们都不是正确的答案。
答案 0 :(得分:0)
您始终可以使用for循环,像map
,reshape
之类的所有功能只是为了减少您的编码工作量并使其更具可读性,这是不必要的。此外,如果操作正确,for循环的性能要优于map
之类的功能。
var rawData = {
foo: {
a: 'asdf',
b: 'nhyt'
},
bar: {
a: 'gfdsa',
b: 'sdasdf'
}
}
var preprocessedData = {};
for(key in rawData) {
var obj = rawData[key];
preprocessedData[obj.b] = {name:key, a:obj.a};
}
console.log(preprocessedData);