【发布时间】:2019-03-28 09:51:18
【问题描述】:
如果我有 2 个数组(properties 和 data):
properties = [name, height, weight, zone];
data = [
['Luke Skywalker', 123, 112, 'B'],
['Jawa', 12, 8, 'B'],
['Hutt', 200, 999, 'C']
];
我想创建一个对象数组 (statistics):
statistics = [{
name: 'Luke Skywalker',
height: 123,
weight: 112,
zone: 'B'
},
{
name: 'Jawa',
height: 12,
weight: 8,
zone: 'B'
}, {
name: 'Hutt',
height: 200,
weight: 999,
zone: 'C'
}
];
通常我会在data[] 上使用映射,创建一个temp 对象,然后将其推送到statistics[]。
但是因为我知道data 中的所有其他条目都具有相同的维度和数据类型。我也知道有一个从properties 到data 的一对一映射。 javascript中是否有一个内置函数可以输出具有一对一映射的对象数组? properties.mapAll(data) 之类的东西。我希望不要使用库,因为我在 GAS 中的模板 .html 上执行此操作。
【问题讨论】:
-
properties = [name, height, weight, zone];这些真的是 4 个独立变量吗?如果是这样,它们是什么?还是您的意思是使用字符串? -
对于回答者,google-apps-script 是 es3,带有精选的 es5 函数,如 map、reduce 等。不支持
=>或...。 -
@TheMaster 请注意,这是在
.html中完成的。没有指定这是作为HtmlTemplate#evaluate的一部分还是真正的客户端代码完成,因此箭头和 Object.assign 很可能是可用的。
标签: javascript arrays object google-apps-script