我正在查询数据库,它正在返回称为合同的集合中的所有对象。这些合同是具有键和值的简单对象。如
{
name: BOB,
title: theinternet
date: {...}
}
我想检查每个对象中的特定键,但是我不确定如何正确地描述这些对象如何组合在一起,而且我不知道如何访问该对象集合内的任何数据。
console.log(contracts)
returns
Array(4) [ {…}, {…}, {…}, {…} ] this spreads to
(4) […]
0: Object { id: "1K19Q7tXIM2yJih7Qj4y", amount: "123421", company: "43214", … }
1: Object { id: "MvEr5t9Sd0oqDyajN9rl", amount: "663425", company: "tewq", … }
2: Object { id: "ckgOLDU6RdstsIoraKiy", amount: "123421", company: "43214", … }
3: Object { id: "jr6XjkAntRucmx0EPeQC", amount: "134", company: "rewq", … }
但是我什么时候
console.log(typeof contracts) it says its an object.
通过执行以下操作,我能够正确获取对象的大小...但是我不知道如何在该对象中搜索特定键。
Object.size = function(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
console.log(Object.size(contracts))
returns 4
一旦我拥有了所有想要的对象,我就可以if(obj.title ==='theinternet'然后做些事。但是我不熟悉解构这种类型的对象。
答案 0 :(得分:1)
您可以使用https://www.postgresql.org/docs/current/sql-do.html。
let newObj = contracts.filter(item => item.title === 'theinternet')
答案 1 :(得分:1)
有两种方法,如果只希望linq上的诸如firstOrDefault之类的项,则要使用 find(),如果您希望所有与您的 Id匹配的项,您将使用 filter()。您也可以使用地图或其他任何东西,但过滤或查找会更有意义。
var data = [{
'id': '1K19Q7tXIM2yJih7Qj4y',
'amount': '123421',
'company': '43214'
},
{
'id': 'MvEr5t9Sd0oqDyajN9rl',
'amount': '663425',
'company': 'tewq'
},
{
'id': 'ckgOLDU6RdstsIoraKiy',
'amount': '123421',
'company': '43214'
},
{
'id': 'jr6XjkAntRucmx0EPeQC',
'amount': '134',
'company': 'rewq'
}
];
function filterObject(filterParam)
{
return data.filter(a=> a.id == filterParam)
}
在此处传递参数。
console.log(filterObject('1K19Q7tXIM2yJih7Qj4y'));
这种方式将返回所有项目,也尝试使用 find()。