一、过滤掉相应数据(带有key)
var fileList = {
"85968439868a92": [{name: 'food.jpeg'}, {name: 'ood.jpeg'}],
"": [{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()
console.log(ele)
if (ele.name !== 'food.jpeg'){
return ele
}
}
demo()
二、过滤掉含有某些id 的数据
比如:如何去除数组a中 id=15和id=3 的对象
var a = [{ id: }, { id: - }, { id: }, { id: }, { id: 12.2 }];
var b = [, ];
var c = a.filter(item => { return !b.includes(item.id); }); console.log(c)
三、过滤多维数组的相应数据
function f () {
var treeData = [
{a:'',sub:[{aaa:'ggg',is_show: }]},
{a:'hhh',sub:[{aaa:'rrr',is_show: }]},
]
var a = JSON.parse(JSON.stringify(treeData)).map(item => {
console.log(item)
if (item.sub) {
item.sub = item.sub.filter(sub => sub.is_show == )
}
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)