我有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)
?
感谢。
答案 0 :(得分:1)
您可以在Object.entries
filter
和map
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;
答案 1 :(得分:0)
选项1
有关详细信息,请参阅Object.entries()
,Array.prototype.filter()
和Array.prototype.map()
。
// 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;
选项2
有关详细信息,请参阅Object.keys()
和JSON
。
// 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;
答案 2 :(得分:0)
您可以使用Object.keys()
遍历每个密钥,然后使用array#filter
过滤掉值为true
的密钥。
const trueOptions = { trueOption1 : true, trueOption2 : true, trueOption3 : false, trueOption4 : false, trueOption5 : true },
result = Object.keys(trueOptions).filter(k => trueOptions[k]);
console.log(result);
&#13;
答案 3 :(得分:0)
Object.keys(trueOptions).forEach(d=>{if(trueOptions[d] != true){delete trueOptions[d];}})
Object.keys(trueOptions)