不确定我在这里缺少什么:
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
}
作为额外奖励,我将分享我的测试
it('extracts options', () => {
const options = [
{ branch: 'A15'},
{ awsKey: 'AKIAQ'},
{ awsSecret: '0ro'}
],
list = Deploy.extractOptions(options)
expect(list).to.deep.equal(options)
})
答案 0 :(得分:1)
您可以使用Object.entries()
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
}
})