我有以下javascript数组:
var foo = [false,false,true,false,true];
我想要的是删除'true'值并保持这样的错误:
[false,false,false]
我试过这个:
console.log(foo.map(function(i){if(i==false)return i;}));
但我得到的是:
[ false, false, undefined, false, undefined ]
任何想法如何实现这一目标?
答案 0 :(得分:1)
Assinatura::join('relatorio_grupo','relatorio_grupo.id','=','assinatura.relatorio_grupo_id')
->join('relatorio','relatorio.grupo_id','=','relatorio_grupo.id')
->join('relatorio_excecao','relatorio_excecao.pessoa_id','=','assinatura.pessoa_id and relatorio.id = relatorio_excecao.id','left',true)
->whereNull('relatorio_excecao.id')
->where('assinatura.pessoa_id', $id)
->toSql();
答案 1 :(得分:1)
var foo = [false,false,true,false,true];
console.log(foo.filter(function(i){ return i !== true; }));

这可以解决您的问题:专门过滤掉true
值。显然,您可以根据需要调整过滤条件。
答案 2 :(得分:0)
使用filter
属性
var foo = [false, false, true, false, true];
var newArray = foo.filter(function(item) {
return item === false;
});
console.log(newArray)
答案 3 :(得分:0)
这是ramdajs
的解决方案var foo = [false,false,true,false,true, undefined, 0];
var isFalsy = R.filter(R.not);
isFalsy(foo);
//result: [false, false, false, undefined, 0]