从内部对象获取具有值的键

时间:2018-04-18 07:31:40

标签: javascript object

我有object这样:

trueOptions = {
  trueOption1 : true,
  trueOption2 : true,
  trueOption3 : false,
  trueOption4 : false,
  trueOption5 : true
}

我想从keys内部获取items true values object items

我如何获得这些import os, shutil os.chdir("<abs path to desktop>") for f in os.listdir("folder"): folderName = f[-6:-4] if not os.path.exists(folderName): os.mkdir(folderName) shutil.copy(os.path.join('folder', f), folderName) else: shutil.copy(os.path.join('folder', f), folderName)

感谢。

4 个答案:

答案 0 :(得分:1)

您可以在Object.entries

上使用filtermap

&#13;
&#13;
const options = {
     trueOption1: true,
     trueOption2: true,
     trueOption3: false,
     trueOption4: false,
     trueOption5: true
  }

const trueOptions = Object.entries(options).filter(option=>option[1]).map(option=>option[0])

console.log(trueOptions)
&#13;
&#13;
&#13;

答案 1 :(得分:0)

选项1

有关详细信息,请参阅Object.entries()Array.prototype.filter()Array.prototype.map()

&#13;
&#13;
// Input.
const options =  {option1: true,option2: true,option3: false,option4: false,option5: true}

// Trues.
const trues = obj => Object.entries(obj).filter(([key, value]) => value).map(([key]) => key)

// Output.
const output = trues(options)

// Proof.
console.log(output)
&#13;
&#13;
&#13;

选项2

有关详细信息,请参阅Object.keys()JSON

&#13;
&#13;
// Input.
const options =  {option1: true,option2: true,option3: false,option4: false,option5: true}

// Trues.
const trues = obj => Object.keys(JSON.parse(JSON.stringify(obj, (k, v) => v || undefined)))

// Output.
const output = trues(options)

// Proof.
console.log(output)
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以使用Object.keys()遍历每个密钥,然后使用array#filter过滤掉值为true的密钥。

&#13;
&#13;
const trueOptions = { trueOption1 : true, trueOption2 : true, trueOption3 : false, trueOption4 : false, trueOption5 : true },
      result = Object.keys(trueOptions).filter(k => trueOptions[k]);
console.log(result);
&#13;
&#13;
&#13;

答案 3 :(得分:0)

Object.keys(trueOptions).forEach(d=>{if(trueOptions[d] != true){delete trueOptions[d];}})

Object.keys(trueOptions)