var t1 = [];var t2 = [];var arr = [
{ id: 1,
name: 'a1'
},
{ id: 2,
name: 'a2'
},
{ id: 3,
name: 'a3'
}
]function test(id, name) { this.id = id this.name = name this.idAndName = id + name
}
arr.forEach((item, index) => { // 写法1,直接添加
t1.push({ id: item.id, name: item.name, idAndName: item.id + item.name
}) // 写法2,通过new的方式添加
t2.push(new test(item.id, item.name));
})console.log(t1, t2);上面的两种写法哪种方式好些?有什么区别
2 回答
杨魅力
TA贡献1811条经验 获得超6个赞
答案是不一定。
取决于你这个数据解构会不会被大量复用到。
假设这个结构是这样的
我们暂时称它为obj
{ a:[ {a1:"foo",a2:"bar"}, {a1:"baz",a2:"bar"}, ], b:"hello", c:"world", //... z:"too much", }
如果你有多处都需要写这个
那你每次写一遍,甚至是粘贴一遍都是痛苦
又或者说
你有一个方法 要求传入的参数一定要是类似obj那样的结构
如果你用new关键字创建出来一个实例,则可以快速的使用instanceof来判断
反之,你就要一个个属性的去校验过来
添加回答
举报
0/150
提交
取消