我创建了一个函数,如果属性的值是一个数组,就会删除该对象的属性和值。下面是函数的代码示例:
请注意这部分内容:
我从朋友的解决方案中得到了这个,但我不清楚它真正在做什么。另外,为什么我们需要将
此外,除了这个解决方案之外,是否有更好的方法来完成这个任务?
作为JavaScript的绝对初学者,有人能用通俗易懂的语言教我或与我讨论这段代码的作用吗?
有人可以帮忙吗?
function removeArrayValues(obj) {
for(var key in obj){
if( Object.prototype.toString.call(obj[key]) === '[object Array]' ) {
delete obj[key];
}
}
}
请注意这部分内容:
Object.prototype.toString.call(obj[key])
我从朋友的解决方案中得到了这个,但我不清楚它真正在做什么。另外,为什么我们需要将
'Array'
放入[]
中并称其为[object Array]
,而不是只需要简单地使用'Array'
。此外,除了这个解决方案之外,是否有更好的方法来完成这个任务?
作为JavaScript的绝对初学者,有人能用通俗易懂的语言教我或与我讨论这段代码的作用吗?
有人可以帮忙吗?