Javascript 基于现有对象/数组创建空对象/数组
我正在编写一个函数,它以对象或数组作为参数,我想创建一个新的空副本,并用原始对象的转换数据填充它 我想知道是否有一种方法可以简单地创建这个新对象/数组,而不必测试对象是什么类型并采取适当的行动 目前的“漫长”道路是:Javascript 基于现有对象/数组创建空对象/数组,javascript,Javascript,我正在编写一个函数,它以对象或数组作为参数,我想创建一个新的空副本,并用原始对象的转换数据填充它 我想知道是否有一种方法可以简单地创建这个新对象/数组,而不必测试对象是什么类型并采取适当的行动 目前的“漫长”道路是: const transf = (thing) => { if (typeof(thing) === 'array') { const new = [] } else { const new = {} } } 我希望有一种很好的“内置”方式,我可
const transf = (thing) => {
if (typeof(thing) === 'array') {
const new = []
} else {
const new = {}
}
}
我希望有一种很好的“内置”方式,我可以做如下事情:
const transf = (thing) => {
const new = thing.emptyCopy()
}
我已经研究了对象。创建但总是会生成对象(即使原型是数组),并且类型的返回一个字符串,不能与例如新建等一起使用
有没有简写的方法可以做到这一点,还是我运气不好?你可以使用东西的构造函数属性。不要使用new
作为变量名
const transf = (thing) => {
const newelm = new thing.constructor()
}
演示:
const transf=(事物)=>{
返回新事物。构造函数()
}
console.log(transf(['arra']))
console.log(transf({key:'value}))
使用构造函数
方法。@raina77ow是的,虽然如果只考虑对象
和数组
,这并不重要tanks-是的-不确定我为什么在那里使用新建
@如果你对答案感到满意,就考虑接受答案。