Javascript 简化es6代码片段forEach
我试图找到一种更好的方法,使用forEach在javascript(es5)中编写这个代码片段(解析对象)Javascript 简化es6代码片段forEach,javascript,ecmascript-6,Javascript,Ecmascript 6,我试图找到一种更好的方法,使用forEach在javascript(es5)中编写这个代码片段(解析对象) isCurrentUserIsInSubPeriod(){ let itemFounded = false obj.forEach(data => { if (data.check) itemFounded = true }); return itemFounded } 您可以使用 如果希望使用es5语法在对象上迭代,则应
isCurrentUserIsInSubPeriod(){
let itemFounded = false
obj.forEach(data => {
if (data.check)
itemFounded = true
});
return itemFounded
}
您可以使用
如果希望使用es5语法在对象上迭代,则应使用循环。每个方法的
只能与数组一起使用。构造语句其余部分最简洁的方法是使用三元表达式
isCurrentUserIsInSubPeriod(){
let itemFounded = false;
for (data in obj) {
data.checked ? itemFounded = true : itemFounded = false;
}
return itemFounded;
}
由于对象上没有.forEach()
方法,请描述实际问题所在,以便我们可以帮助您找到其他/更好的解决方案。您是否只是想确定对象本身是否有属性,而对象本身是具有属性的对象。请检查属性?或者只是尝试查看对象本身是否有。检查属性?如果您询问您提出的解决方案而不告诉我们实际的总体问题是什么,那么我们就不可能提供比您已经想到的解决方案更好的答案,而当您的解决方案站不住脚时,我们也无能为力。“解析对象”是什么意思?“解析对象”是指“解析对象”。检查对象中的所有值是否尝试检查数组中的项或对象的属性?obj
是数组还是普通对象?这似乎假设obj
是数组。我们真的知道吗?OP说他们正试图“解析一个对象”,不管这是什么。@jfriend00,是的,这是真的。尽管由于forEach的使用,很多事情都指向数组的使用,并且数组是对象的实例。也许这就是OP理解/解释阵列的方式?我想我们很快就会发现data.checked?itemFounded=true:itemFounded=false代码>可简化为itemFounded=data.checked代码>(更简洁易懂)。顺便说一句,由于obj
是一个数组,data
将是数组(0
,1
,等等)和数据的索引。选中的将始终是未定义的。如果有,您需要obj[data]
。
isCurrentUserIsInSubPeriod(){
let itemFounded = false;
for (data in obj) {
data.checked ? itemFounded = true : itemFounded = false;
}
return itemFounded;
}