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

JS如何删除数组中qty_开头属性为空的对象元素

问题原因
  • 变量名拼写错误:代码中混用mydata和mydatadata,导致无法正确读取目标对象
  • 语法错误:const mydatadata.items的写法不符合JS语法,const关键字仅用于声明变量,不能直接用于赋值对象属性
  • 类型使用错误:你通过Object.assign合并后得到的mydata.items是键为数字的普通对象,不是数组,无法直接调用数组的filter方法
正确实现方案

因为需求要求修改原mydata.items对象,直接遍历对象键删除不符合要求的属性即可:

// 遍历items所有键
for (const key of Object.keys(mydata.items)) {
  const currentItem = mydata.items[key];
  // 校验是否存在非空的qty_开头属性
  const hasValidQtyProp = Object.keys(currentItem).some(prop => {
    return prop.startsWith('qty_') && currentItem[prop]?.trim() !== ''
  })
  // 无有效qty属性则删除原对象的对应键
  if (!hasValidQtyProp) {
    delete mydata.items[key]
  }
}

// 输出处理后的结果
console.log(mydata.items)
补充说明

如果后续需要将mydata.items转为数组使用,可以用Object.values(mydata.items)快速转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:36:03