JavaScript的.forEach返回一个未定义的

Max*_*vis -6 javascript foreach

所以,我有一个简单的代码部分,我需要处理一个对象数组,并知道数组中availability.prop1的某个对象是否等于true并返回true它,或者如果等于false,则返回false.这是一个非常简单的案例,我知道,但由于某些原因,我无法弄清楚我的堕落在哪里......

我对输出的期望是什么isSomeProp1EqualToTrue = true,因为数组中的第二个对象data具有正值prop1(true)

const data = [
 {prop1: false, {prop2: 'someValue'},
 {prop1: true, {prop2: 'someValue'},
 {prop1: false, {prop2: 'someValue'}
]

const isSomeProp1EqualToTrue = data.forEach(availability => {
  if (availability.prop1 === true) {
    return true
  }

  return false
})

// expected: isSomeProp1EqualToTrue = true (that's what I nedd)
// current: isSomeProp1EqualToTrue = undefined (wrong)
Run Code Online (Sandbox Code Playgroud)

Cer*_*nce 5

您需要.some检查数组中的任何项是否通过测试.forEach回报undefined:

const data = [
 {prop1: false, prop2: 'someValue'},
 {prop1: true, prop2: 'someValue'},
 {prop1: false, prop2: 'someValue'}
]

const isSomeProp1EqualToTrue = data.some(({ prop1 }) => prop1 === true);
console.log(isSomeProp1EqualToTrue);
Run Code Online (Sandbox Code Playgroud)