JS中如何映射一个对象得到一个值为"true"的键数组?

How to map an object to get an array of keys with "true" value in JS?

我有一个对象:

var x = {
'107': true,
'109': false,
'103_100': true,
'115_113': false,
}

我需要从中获取一个数组:

['107', '103_100']

如何映射此对象以获取具有“真”值的键数组?

您可以过滤对象的键:

var x = {
  '107': true,
  '109': false,
  '103_100': true,
  '115_113': false,
};
console.log(Object.keys(x).filter((k) => x[k]));

您的数据结构选择似乎不适合您的用例。但下面是你想要的:

var x = {
'107': true,
'109': false,
'103_100': true,
'115_113': false,
};

console.log(
  Object.keys(x).reduce((a, c) => {
    if (x[c] === true) {
      a.push(c);
    }
    return a;
  }, [])
);