从数组动态获取字符串联合

时间:2018-05-26 02:54:28

标签: node.js typescript typescript2.0 tsc

我有这个:

curl localhost:$PORT

我希望从上面动态地推断/推导出以下内容:

const goodKeys = {
  'integer': 1,
  'string': 1,
  'number': 1,
  'function': 1,
  'boolean': 1,
  'null': 1,
  'undefined': 1,
  'symbol': 1
};

我试过这样做:

export type OptsKey =
  'integer' |
  'string' |
  'number' |
  'function' |
  'boolean' |
  'null' |
  'undefined' |
  'symbol';

但这并不起作用,即使它确实如此,它也不太可能解决为字符串联合而只是一个数组。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:0)

据我所知,您正在尝试检查哪个对象键的值为1,对吧?

const goodKeys = {
  'integer': 1,
  'string': 0,
  'number': 1,
  'function': 0,
  'boolean': 1,
  'null': 0,
  'undefined': 1,
  'symbol': 1
};

const transform = myObject => {
    const result = [];
    for(const key in myObject) {
       if(myObject[key]) result.push(key);
    }
    return result;
}

const myArray = transform(goodKeys);
console.log(myArray)
// [ 'integer', 'number', 'boolean', 'undefined', 'symbol' ]