要过滤一个对象数组以仅显示具有所有现有类型属性的数组的ids,可以采用以下步骤:
Object.keys()
方法获取该对象的所有属性名称。Array.every()
方法检查该对象的所有属性是否都存在并且不为undefined
。undefined
,返回true
。false
。Array.filter()
方法筛选出具有所有现有类型属性的对象,创建一个新的数组。Array.map()
方法将新数组中的对象转换为它们的id
属性值,创建一个仅包含id
的新数组。以下是一个示例实现的JavaScript代码:
function filterArrayByTypeProperties(arr) {
return arr
.filter(obj =>
Object.keys(obj).every(key => typeof obj[key] !== 'undefined')
)
.map(obj => obj.id);
}
// 示例用法
const array = [
{ id: 1, name: 'John', age: 25 },
{ id: 2, name: 'Jane', age: 30, occupation: 'Engineer' },
{ id: 3, name: 'Bob', age: 35, occupation: 'Teacher', hobby: 'Reading' },
{ id: 4, name: 'Alice', age: 40, hobby: 'Cooking' }
];
const filteredIds = filterArrayByTypeProperties(array);
console.log(filteredIds); // 输出: [1, 2, 3]
上述代码会将具有所有现有类型属性的对象过滤出来,并返回它们的id
属性值的数组。注意,这只是一个示例实现,具体的实际应用场景可能需要根据具体需求进行适当的修改和扩展。
腾讯云相关产品和产品介绍链接地址:
请注意,以上提供的产品和链接仅供参考,具体选择和推荐应根据实际需求和情况进行。
领取专属 10元无门槛券
手把手带您无忧上云