Javascript 简化es6代码片段forEach

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语法在对象上迭代,则应

我试图找到一种更好的方法,使用forEach在javascript(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;
}