运行 对象数组内对象数组的`every` 方法

Run `every` method on array of objects inside arrays of objects

我正在尝试检查此双精度数组中的 属性 是否有任何长度

const cars = [
  {
    name: 'audi',
    options: [
      {
        color: 'white'
      },
      {
        color: 'black'
      }
    ]
  },
  {
    name: 'bmw',
    options: [
      {
        color: 'red'
      },
      {
        color: ''
      },
      {
        color: 'green'
      }
    ]
  }
]
const results = cars.map(({ options }) => options.every((opt) => opt.color.length))
const result = !results.includes(false)
console.log(result)
// It returns false cause bmw has an empty color property 

我通过 every 为每个数组添加一个带有布尔值的数组,然后检查该数组是否为 false 来完成它,但感觉没有必要。

如果嵌套数组中给定的 属性 有条件,有没有办法 return 单个布尔值?

外部数组也只需取 every

const
    cars = [{ name: 'audi', options: [{ color: 'white' }, { color: 'black' }] }, { name: 'bmw', options: [{ color: 'red' }, { color: '' }, { color: 'green' }] }],
    result = cars.every(({ options }) =>
        options.every(({ color: { length } }) => length)
    );

console.log(result);