Javascript中的筛选器foreach索引值
如何使用条件if过滤foreach Javascript中的索引值 上次登录=空 然后将过滤后的值存储到 这是searchLogin 下图是:console.log(obj)的输出强> 以下是我迄今为止所做的:Javascript中的筛选器foreach索引值,javascript,loops,filter,indexof,Javascript,Loops,Filter,Indexof,如何使用条件if过滤foreach Javascript中的索引值 上次登录=空 然后将过滤后的值存储到 这是searchLogin 下图是:console.log(obj)的输出 以下是我迄今为止所做的: try { this.searchTrigger = true var obj = this.list; this.searchLogin = []; for (let i=0; i < obj.length; ++i){ if(obj.fi
try {
this.searchTrigger = true
var obj = this.list;
this.searchLogin = [];
for (let i=0; i < obj.length; ++i){
if(obj.filter( x => obj[i].profile.last_login === null)){
this.searchLogin.push(obj[i]);
}
}
console.log('This are obj data passed to search login',this.searchLogin);
试试看{
this.searchTrigger=true
var obj=this.list;
this.searchLogin=[];
for(设i=0;iobj[i].profile.last_login==null)){
this.searchLogin.push(obj[i]);
}
}
console.log('这是传递给搜索登录名的obj数据',这是.searchLogin);
有几点需要注意
函数将返回一个数组,即使该数组为空(没有匹配的结果),它仍将被评估为true,即始终执行if条件filter
条件在for循环中有一个过滤函数,这意味着您不必要地为数组中的所有对象检查同一对象的条件,即对于每个对象,过滤函数将返回空数组或所有对象的数组如果
last\u login
信息
this.searchLogin = this.list.reduce((a,c) => c.profile.last_login === null ? a.concat(c.profile.last_login) : a, []);
我认为无需再次将结果显式保存到数组中,数组上的过滤器本身将根据过滤器条件创建一个结果数组 有关过滤器的更多信息 就你而言
this.searchLogin = obj.filter( x => x.profile.last_login === null);
会成功的。
var obj=[
{profile:{last_login:null}},
{profile:{last_login:true}},
{profile:{last_login:null}},
{profile:{last_login:true}},
{profile:{last_login:null}}]
//使用过滤器和映射
console.log(“带过滤器和映射:”,
对象映射((x,i)=>({…x.profile,i}))
.filter(x=>!x.last_登录)
.map(x=>x.i));
//减少
console.log(“带reduce:”,
obj.reduce((p,c,i)=>(!c.profile.last_login&&p.push(i,p),[]))
)
是否检查此列表中的所有索引数组值?谢谢:)将尝试此操作。筛选器检查数组中的所有值。请尝试告知。尝试{this.searchTrigger=true var obj=this.list;this.searchLogin=obj.filter(x=>x.profile.last\u login==null);console.log('This is obj data passed to search login',This.searchLogin);}
使用虚拟值为您创建了一个stackblitz,以复制您的对象列表和预期结果。如果仍然不起作用,请自由编辑这些数据并与您的列表值共享。searchLogin
要包含对象还是obj[i].profile.last_login
?@NikhilAggarwal是的,我想将新的筛选数组值推送到searchLogin,条件是如果profile.last_login=null