js 数组迭代方法filter结合字符串方法indexOf 过滤对象属性包含某字段的那个对象

 

arr = [
{name: "pid", value: null, ccname: "细项ID"},
{name: "product_name", value: null, ccname: "产品名称"},
{name: "product_num", value: null, ccname: "产品编号"}...]

arr = arr.filter((item)=>{
return item.ccname !==""&&item.ccname.indexOf("c_") == -1&&item.ccname.indexOf("d_")&&item.ccname.indexOf("p_")
})

数组过滤掉对象数组内ccname为空和属性ccname的值包含c_,d_,p_的对象

返回的过滤后的对象重新接收赋值

复制代码
    fnDataInit(){
      let arr = [];
      let keyArr = [];
      //一:循环对象变成数组键值对形式统一为name:'',value:''的数组 并改变name属性为汉字 套入汉字
      keyArr = Object.keys(this.data.trueLyData)
      // console.log(keyArr)
      keyArr.map((v,i)=>{
          // console.log(v)
          arr.push({
            name:v,
            value:this.data.trueLyData[v],
            ccname:this.data.chinakeyArr[i]
          })
      })
      // console.log(arr)
      //二:过滤汉化后键为空的项
      //方法1
      // let arr2 = []
      // arr.map((va)=>{
      //   // console.log(va.ccname)
      //   if(va.ccname!==""){
      //     arr2.push(va)
      //   }
      // })
      //方法2:
     arr = arr.filter((item)=>{
       return item.ccname !==""&&item.ccname.indexOf("c_") == -1&&item.ccname.indexOf("d_")&&item.ccname.indexOf("p_")
     })
    
      console.log(arr)
      //三:设置到页面可渲染数据中去
      this.setData({
        showDate:arr
      })
    },
复制代码

 

posted @   少哨兵  阅读(874)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示