我有一个来自api的对象数组:
>>> myListOfPeople = [{'ID': 0, 'Name': 'Mary', 'Age': 25}, {'ID': 1, 'Name': 'John', 'Age': 28}]
>>>
>>> min(myListOfPeople, key=lambda x: x["Age"])
{'ID': 0, 'Name': 'Mary', 'Age': 25}
>>>

如何更改" YES"的值?真实的"否"真的吗?
答案 0 :(得分:3)
您可以使用三元素轻松将“是”转换为true
,将“否”转换为false
。此外,您可以使用forEach
代替map
:
"use strict";
var data = [{
"OPEN COVER (YES or NO)": "YES"
}, {
"OPEN COVER (YES or NO)": "NO"
}, {
"OPEN COVER (YES or NO)": "YES"
}];
var result = data.reduce(function(items, item) {
var fixed = {};
var keys = Object.keys(item);
keys.forEach(function(key) {
if (key === 'OPEN COVER (YES or NO)') {
return fixed['open_cover'] = item[key] === 'YES';
}
});
items.push(fixed);
return items;
}, []);
console.log(result);
答案 1 :(得分:1)
如果您可以使用ES6功能,请使用map迭代并返回一个新数组,为每个数组项创建一个带扩展运算符的新对象
if '\t' in a:
a= a.replace('\n', '<br>', 1)
a= a.replace('\n', '</li>')
tabs = get_tabs(gp_ln)
tabs.sort(reverse=True)
for tab in tabs:
a= a.replace(tab, '\n<ul style="display:block; list-style-type:none; line-height: 17px; '
'font: 13px \'Times New Roman\';">\n<li>', 1)
a= a.replace(tab, '\n<li>')
a+= '</li>'
a+= '</ul>' * len(tabs) + '\n'
根据Chase DeAnda的原始答案https://jsfiddle.net/xctohpw5/
工作小提琴答案 2 :(得分:0)
或类似的东西,假设您将始终拥有固定的密钥名称"OPEN COVER (YES or NO)"
:
"use strict";
var data = [{
"OPEN COVER (YES or NO)": "YES"
}, {
"OPEN COVER (YES or NO)": "NO"
}, {
"OPEN COVER (YES or NO)": "YES"
}];
var result = data.map(function (item) {
var tempObj = {};
var key = Object.keys(item)[0];
var value = item[key] === 'YES';
tempObj[key] = value;
return tempObj;
});
console.log(result);
答案 3 :(得分:-1)
最简单的方法是将值设置为简单的语句。
fixed['open_cover'] = item[key] === "YES"
这将检查item[key]
是否等于"YES"
并将您的输出设置为true
或false
。