gpt4 book ai didi

javascript - ES5 : Object. 键 JS 中的本地方法

转载 作者:行者123 更新时间:2023-11-29 16:57:09 25 4
gpt4 key购买 nike

我正在使用 Object.keys 在 JS 中遍历对象的键,如下所示:

               var cv = view.childViews;

Object.keys(cv).forEach(function(key) {
this.destroyView(cv[key]);
}.bind(this));

但是,当 cv 未定义或不是对象时,Object.keys 会抛出错误。除了在 Object.keys 周围放置一个 if 语句来检查 typeof cv 是否是一个对象,有没有比 Object.keys 更好的本地方法,如果 cv 未定义它不会抛出错误?

重点不在于:

Object.keys(cv) vs cv.keys().each()

如果 cv 为空,第一个不应该抛出错误,而后者应该。什么鬼,谢谢 JS。

如果你不帮我,我就会这样做,这让我很懊恼:

              if(typeof cv === 'object'){
Object.keys(cv).forEach(function(key) {
this.destroyView(cv[key]);
}.bind(this));
}

事实证明,在 ES6 中,Object.keys 的非对象参数将被“强制”为一个对象,请参阅: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

最佳答案

如果你只是迭代,有很好的旧for...in

for(var i in null){
alert(i);
}

for(var i in undefined){
alert(i);
}

var obj = {hello: 'world'};

for(var i in obj){
alert(i);
alert(obj[i]);
}

关于javascript - ES5 : Object. 键 JS 中的本地方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31420021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com