如题 js如何最有效最简单的把对象的值清空
怪我没说清楚
let obj={a:1,b:2}
变成这样
{a:'',b:''}
我写了一段代码 for in 和 for 的耗时
把对象弄大一点
如题 js如何最有效最简单的把对象的值清空
怪我没说清楚
let obj={a:1,b:2}
变成这样
{a:'',b:''}
我写了一段代码 for in 和 for 的耗时
把对象弄大一点
var obj={'one':1,'two':2}
for(let key in obj){
delete obj[key]
}
console.log(obj) //{}
举一反三啊
var obj={'one':1,'two':2}
for(let key in obj){
obj[key] = ''
}
console.log(obj) //{'one':'','two':''}
for (let k of Object.keys(obj)) {
obj.k = ''
}
es6的
关于楼上说的forin最简洁的说法,其实forin是性能最低的用法,有兴趣的话可以阅读这篇文章
方法一:字面量定义对象
第一步,定义一个空对象并打印出来,代码和效果:
代码:
var student = {};
console.log(student);
第二步,为对象添加属性并打印,代码和打印结果如下:
代码:
student.name = "xiaoming";
student.age = 12;
console.log(student);
第三步,删除对象属性(清空对象)并打印,代码和打印结果如下:
代码:
for(var key in student){
delete student[key];
}
console.log(student);
由此可见,对象被清空后,又变成了空对象,实现了对象重置。
方法二:构造函数定义对象
这个原生for循环是不对的,对象没有length属性。
效率来说应该是for in 最快。
用Object.keys的话,需要两次循环,虽然for in 性能比较差,但也是要快过2次循环的。
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
值清空? 什么意思?删除所有属性?
那你置为null直接赋值为一个空对象不就行了..
提问没说清楚别踩我答案啊.....
es6遍历的话你可以用for of,当然你可以试下如下方式...