我对一个复杂的json对象感到困惑,在下面的示例中,如何将具有entreprise : 'microsoft'
的整个对象存储在变量中。
clientList = {
id-1111 : {
entreprise : 'facebook',
president : 'Mark',
},
id-2222 : {
entreprise : 'microsoft',
president : 'Bill',
},
id-3333 : {
entreprise : 'apple',
president : 'Tim'
}
}
对于axample,我动态地获得了“ Microsoft”,我想获得其输出:
{
entreprise : 'microsoft',
president : 'Bill'
}
我知道这是一个基本问题,但是我已经为这个问题苦苦挣扎了好几个小时。 感谢您的帮助。
答案 0 :(得分:5)
您可以使用find
从列表中查找单个项目。
var clientList = {
"id-1111": {
entreprise : 'facebook',
president : 'Mark',
},
"id-2222" : {
entreprise : 'microsoft',
president : 'Bill',
},
"id-3333" : {
entreprise : 'apple',
president : 'Tim'
}
};
var result = Object.values(clientList).find(x => x.entreprise == "microsoft");
console.log(result);
答案 1 :(得分:3)
要查找具有特定企业的所有对象,请使用Array.filter
:
const clientList = {
"id-1111" : {
entreprise : 'facebook',
president : 'Mark',
},
"id-2222" : {
entreprise : 'microsoft',
president : 'Bill',
},
"id-3333" : {
entreprise : 'apple',
president : 'Tim'
}
};
function findClientsByEnterprise(enterprise) {
return Object.values(clientList).filter( i => i.entreprise === enterprise);
}
console.log(findClientsByEnterprise("microsoft"))
答案 2 :(得分:0)
您的对象已损坏。在对象密钥中使用引号。
import numpy as np
n = 7
for i in range(n):
print(1-np.mod(np.arange(i+1), 2)[::-1])
答案 3 :(得分:-1)
如果可以将企业用作唯一ID,则可以按以下方式使用它:
'microsft': {
enterprise: 'microsoft',
president: 'Bill'
}
但是作为一般规则,这样做不是一个好习惯。因此,维护具有唯一ID的对象列表并使用find的结构将是最佳解决方案和最佳实践:
clientList = [
{
id: 'id-1111',
entreprise : 'facebook',
president : 'Mark',
},
{
id: 'id-2222',
entreprise : 'microsoft',
president : 'Bill',
},
{
id: 'id-3333',
entreprise : 'apple',
president : 'Tim'
}
}
const result = clientList.find(clientObj => clientObj.enterprise === "microsoft");