You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据对象键名过滤JavaScript对象数组

错误原因分析

  1. 变量名不匹配:你定义的数组变量名为dataArray,但过滤代码中写的是dataArr,会直接触发变量未定义的报错。
  2. 过滤逻辑错误:你写的i[key] === 'name'是判断对象中key属性的值等于字符串name,和你要的「判断对象的键名是否为name」的需求完全不符。

正确实现

基于题目「每个元素仅包含一个键值对」的前提,可以直接取对象的首个键名做判断:

const namesArr = dataArray.filter(item => Object.keys(item)[0] === 'name');

如果需要兼容对象存在多个键值对、只要包含name键就保留的通用场景,可以用hasOwnProperty方法实现:

const namesArr = dataArray.filter(item => item.hasOwnProperty('name'));

内容的提问来源于stack exchange,提问作者Muirik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:18:02