JS 过滤数组里对象的某个属性

本文介绍了一种从复杂对象数组中提取特定属性并形成新数组的方法。通过遍历原始数组,只保留所需属性,实现了数据的有效简化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:一串大数组,里面乱七八糟一堆属性。现在只需要其中两个属性,用这两个属性组成一个对象,重新得到一个新数组。新数组长度跟老数组一样,只不过里面所有对象只剩下了两个属性。

zaipeiAmountInit() {
      zcyApi
        .selectNum(this.url + this.curVersion)
        .then(res => {
          // console.log(res);
          if (res.data.code == 10000) {
            this.zaipeiFlag = true;
            
            var t = res.data.data
            for(var i=0;i<t.length;++i){
              var tempObj={}
              tempObj.name = t[i].name
              tempObj.cultivationQuantity = t[i].cultivationQuantity
              this.zaipeiArr.push(tempObj)
            }
          }
        })
        .catch(err => {
          console.log(err);
        });
},

 

### 如何在 JavaScript 数组中检查对象的特定属性值是否存在 为了验证 JavaScript 对象数组中的某个对象是否拥有指定的属性值,可以采用多种方式实现这一目标。以下是几种常用的方法: #### 使用 `filter` 方法 此方法创建一个新的数组,其中包含所有满足提供测试函数的元素。如果过滤后的数组长度大于零,则说明存在符合条件的对象。 ```javascript var arr = [ {id: 1, username: 'fred'}, {id: 2, username: 'bill'}, {id: 3, username: 'ted'} ]; function checkUsernameExists(name) { let result = arr.filter(item => item.username === name); return result.length > 0; } console.log(checkUsernameExists('ted')); // 输出:true[^1] ``` #### 使用 `some` 方法 `some()` 测试数组中的某些元素是否至少有一个能通过所提供函数的检验。一旦找到匹配项即刻停止迭代并返回 `true`; 否则,在遍历完整个数组后返回 `false`. ```javascript var arr = [ {name: '小红'}, {name: '小张'} ]; let res = arr.some(item => item.name === '小张'); // 返回 true 表明找到了名字为 "小张" 的对象[^2] if (res){ console.log("找到了"); } else { console.log("未找到"); } ``` 这两种方法都可以有效地用来查找 JavaScript 数组内是否有具备特定属性值的对象。对于大多数情况而言,`some` 更高效因为它会在首次遇到符合条件的情况时立即终止循环;而 `filter` 总是会处理整个输入序列直到结束。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值