Javascript 在.map中获取键和值

Javascript 在.map中获取键和值,javascript,ecmascript-6,Javascript,Ecmascript 6,不确定我在这里遗漏了什么: export function extractOptions(options){ return options.map((option, i) => { if(!option.value){ logRequiredOptionsMissingError(option.key) process.exit(1) return } }) } 将此阵列视为选项: [{ branch: 'A15'}, { a

不确定我在这里遗漏了什么:

export function extractOptions(options){
  return options.map((option, i) => {
    if(!option.value){
      logRequiredOptionsMissingError(option.key)
      process.exit(1)
      return
    }
  })
}
将此阵列视为选项:

[{ branch: 'A15'},
 { awsKey: 'AKIAQ'},
 { awsSecret: '0ro'}]
我未定义
.value
。是的,那里有数据,我在调试时看到它

基本上,我想让它通过,检查每个键是否有值…否则,记录一个错误,并停止,如果它遇到一个键没有值

更新

我最终同意了这一点:

export function extractOptions(options){
  for (let option of options) {
    if(!option || option.length < 1){
      logRequiredOptionsMissingError(option[0][0])
      process.exit(1)
      return
    }
  }

  return options
}

您可以使用
object.entries()


数组中的对象没有值键。一个带有值属性的对象,看起来像这样的
{value:5}
。是的,那么也许有更好的方法来实现这一点。我需要能够使用名称/值对,其中名称是唯一的。是否要检查对象是否为空?如果迭代每个对象的键,显然它们将有一个值Yea,并报告空对象的名称。这些基本上是配置选项,我将在我的代码中的其他地方使用,但我首先必须运行这些选项,并确保传递它们的人是有效的(他们有值),如果现在没有,请注销那些没有的名称t@PositiveGuy你说没有价值是什么意思?未定义-空字符串-空-0-假?奇怪,我得到
对象。条目不是函数
我想出了一种混合方法,我会更新我的帖子
it('extracts options', () => {
      const options = [
        { branch: 'A15'},
        { awsKey: 'AKIAQ'},
        { awsSecret: '0ro'}
      ],
        list = Deploy.extractOptions(options)

      expect(list).to.deep.equal(options)
 })
return options.map((option, i) => {
    var data = Object.entries(option)
    console.log(data[0][0], data[0][1]) // will be your key and value
    if(!data[0][1]){
      logRequiredOptionsMissingError(data[0][0])
      process.exit(1)
      return
    }
  })