我有下一个对象数组:
const fields = [
{ givenName: 'firstName' },
{ familyName: 'lastName' },
{ 'custom:data': 'blabla' },
{ 'custom:data2': '' },
{ 'custom:data3': null },
];
Run Code Online (Sandbox Code Playgroud)
我需要的是过滤掉空的、空的或未定义的元素并将其转换为一个对象参数:
{
givenName: 'firstName',
familyName: 'lastName',
'custom:data': 'blabla'
}
Run Code Online (Sandbox Code Playgroud)
您可以通过查看值来过滤数组。这种方法假设只有一个键/值对可用。
const
fields = [{ givenName: 'firstName' }, { familyName: 'lastName' }, { 'custom:data': 'blabla' }, { 'custom:data2': '' }, { 'custom:data3': null }],
result = Object.assign({}, ...fields.filter(o => {
const [v] = Object.values(o);
return v || v === 0 || v === false;
}));
console.log(result);Run Code Online (Sandbox Code Playgroud)