JS 移除数组对象

let arr=[

{filetype:'jpg',name:'张三',age:'12'},
{filetype:'',name:'李四',age:'13'},
{filetype:'jpg',name:'王五',age:'14'},
{filetype:'',name:'杨七',age:'14'},
{filetype:'jpg',name:'赵六',age:'14'}

]

移除filetype为空的数据 最后成为
let arr=[

{filetype:'jpg',name:'张三',age:'12'},
{filetype:'jpg',name:'王五',age:'14'},
{filetype:'jpg',name:'赵六',age:'14'}

]

阅读 3.5k
4 个回答

你那逗号是中文符号老哥...

arr.filter(item => item.filetype)
let arr = [{
        filetype: 'jpg',
        name: '张三',
        age: '12'
    },
    {
        filetype: '',
        name: '李四',
        age: '13'
    },
    {
        filetype: 'jpg',
        name: '王五',
        age: '14'
    }, {
        filetype: '',
        name: '杨七',
        age: '14'
    }, {
        filetype: 'jpg',
        name: '赵六',
        age: '14'
    }
]
//  返回新数组
const imgFilter_retNew = (key, arr) => arr.filter(item => item[key])
//  改变原数组
const imgFilter_selfChange = (key, arr) => {
    arr.forEach((item,index)=>{
        if(!item[key])arr.splice(index,1)
    })
}

let enableList = imgFilter_retNew("filetype", arr)
imgFilter_selfChange("filetype", arr)

直接filter过滤

image.png

如此写法可?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题