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

如何从给定JavaScript对象中检索含selectedAddOn: 'aa'属性的对象

如何从给定数据中检索包含selectedAddOn: 'aa'的对象

嘿,这事儿不难,咱们直接利用JavaScript数组的filter()方法就能精准筛选出你要的对象。你的目标对象藏在data.addOnTypeData这个数组里,只需要给filter()传一个判断条件就行。

具体实现代码

首先先把你的数据放出来(方便参考):

const data = { 
  selectedParentName: 'Choice', 
  addOnTypeDropDownArray: [
    { value: 'aa', viewValue: 'aa (Choice)', price: 12, key: 0.42298649258214116, type: 'Choice' }, 
    { value: 'dd', viewValue: 'dd (Choice)', price: 323, key: 0.10174316295283248, type: 'Choice' }
  ], 
  multiSelect: false, 
  label: 'Size', 
  addOnTypeData: [
    { type: 'Size', name: '', key: 0.9570293430160035, parentId: 0.42298649258214116, selectedAddOn: 'aa', value: null, allowMultiSelect: false }, 
    { type: 'Size', name: '', key: 0.8886483410557189, parentId: 0.10174316295283248, selectedAddOn: 'dd', value: null, allowMultiSelect: false }
  ] 
};

然后执行筛选操作:

// 筛选出selectedAddOn等于'aa'的对象,结果是包含符合条件元素的数组
const targetObjects = data.addOnTypeData.filter(item => item.selectedAddOn === 'aa');

// 如果确定只有一个符合条件的对象,用find()直接拿到单个对象更高效
const singleTargetObject = data.addOnTypeData.find(item => item.selectedAddOn === 'aa');

代码说明

  • filter()方法会遍历整个addOnTypeData数组,返回所有满足item.selectedAddOn === 'aa'条件的元素,结果是一个数组(哪怕只有一个符合条件的元素)。
  • find()方法则会返回数组中第一个满足条件的单个对象,如果你能确定符合条件的对象唯一,用这个方法更直接。

执行结果

用filter()得到的结果是:

[
  { type: 'Size', name: '', key: 0.9570293430160035, parentId: 0.42298649258214116, selectedAddOn: 'aa', value: null, allowMultiSelect: false }
]

用find()得到的结果就是这个单独的对象,无需从数组中取索引。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 04:12:50