一、过滤掉相应数据(带有key)
var fileList = { "85968439868a92": [{name: 'food.jpeg'}, {name: 'ood.jpeg'}], "15968439111111": [{name: 'd.jpeg'}, {name: 'doe.jpeg'}] }; function demo() { Object.keys(fileList).forEach(function (k) { console.log(k) console.log(fileList[k]) var f = fileList[k].filter(gl) console.log(f) fileList[k] = f }) console.log(fileList) } function gl(ele) { console.log(1) console.log(ele) if (ele.name !== 'food.jpeg'){ return ele } } demo()
二、过滤掉含有某些id 的数据
比如:如何去除数组a中 id=15和id=3 的对象
var a = [{ id: 15 }, { id: -1 }, { id: 0 }, { id: 3 }, { id: 12.2 }]; var b = [15, 3]; var c = a.filter(item => { return !b.includes(item.id); }); console.log(c)
三、过滤多维数组的相应数据
function f () { var treeData = [ {a:'1',sub:[{aaa:'ggg',is_show: 0}]}, {a:'hhh',sub:[{aaa:'rrr',is_show: 1}]}, ] var a = JSON.parse(JSON.stringify(treeData)).map(item => { console.log(item) if (item.sub) { item.sub = item.sub.filter(sub => sub.is_show == 1) } return item; }).filter(item => item.sub && item.sub.length); console.log(a) }
四、筛选出对象中有值的数据
var query= { a1: "nn", a2: "", a3: "bb" } var a = Object.keys( query ).reduce( ( result, key ) => { if ( query[ key ] !== "" ) { result[ key ] = query[ key ]; } return result; }, {} ); console.log(a)