【发布时间】:2019-09-14 12:30:03
【问题描述】:
我正在考虑以下两种构建对象数组的方法:
方法 1(列出所有属性,即使在对象之间重复):
const employees = [
{
company: 'ABC',
country: 'IN',
zip: 123,
employeeId: 123,
employeeName: 'p'
},
{
company: 'ABC',
country: 'IN',
zip: 123,
employeeId: 456,
employeeName: 'q'
},
{
company: 'ABC',
country: 'IN',
zip: 123,
employeeId: 789,
employeeName: 'r'
}
];
方法2(避免与扩展运算符重复):
const commonParams = {
company: 'ABC',
country: 'IN',
zip: 123
};
const employees = [
{
...commonParams,
employeeId: 123,
employeeName: 'p'
},
{
...commonParams,
employeeId: 456,
employeeName: 'q'
},
{
...commonParams,
employeeId: 789,
employeeName: 'r'
}
]
方法 2 更简洁,添加一个对所有数组元素都通用的新属性会容易得多(并且不易出错)。
但是,对于较大的 commonParams 对象,与方法 1 相比,方法 2(使用 扩展运算符)会影响性能吗?
扩展运算符是否会针对employees 数组中的每个对象循环遍历commonParams 对象的每个属性?
【问题讨论】:
-
参见stackoverflow.com/a/20642480/10221765“能够并且将会带来更好的性能”。
-
large有一百万吗?否则任何差异都将难以察觉
标签: javascript arrays node.js