一颗青柠~ 2021-12-28 13:48 采纳率: 71.4%
浏览 265
已结题

js二维数组过滤,如何不改变原数组

let arr = [{
  name:1,
  data:[{
    a:'1',
    b:'2'
  }]
},
{
  name:1,
  data:[{
    a:'11',
    b:'2'
  }]
}
]
let tmpResult = []
arr.forEach((rules,index)=>{
   tmpResult[index] = rules
   tmpResult[index].data = rules.data.filter((item) => {
       return item['a'].includes('11')
   })    
})
console.log(tmpResult,arr);

打印后的arr不是原来的arr

  • 写回答

4条回答 默认 最新

  • 你好!机器人 2021-12-28 13:55
    关注
    
    let arr = [{
      name:1,
      data:[{
        a:'1',
        b:'2'
      }]
    },
    {
      name:1,
      data:[{
        a:'11',
        b:'2'
      }]
    }
    ]
    let tmpResult = JSON.parse(JSON.stringify(arr))
    tmpResult.forEach((rules,index)=>{
       tmpResult[index] = rules
       tmpResult[index].data = rules.data.filter((item) => {
           return item['a'].includes('11')
       })    
    })
    console.log(tmpResult,arr);
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 1月5日
  • 已采纳回答 12月28日
  • 创建了问题 12月28日