2017-12-20 4 views
0

를 사용하는 ID가 빈 문자열이 아니고 ID가 null 인 객체를 가져 와서 배열을 필터링하려고합니다. 어떻게이 같은 배열을 ES6 필터와 기능 또는 문

[{id: "1"}, {id: "2"}, {id: "3"}, {id: "4"}]; 

내가 얻을이 (단지 같은 배열) : 내가 잘못 뭐하는 거지

[{id: "1"}, {id: "2"}, {id: ""}, {something: "else"}, {id: "3"}, {id: "4"}]; 

var array = [{id: "1"}, {id: "2"}, {id: ""}, {something: "else"}, {id: "3"}, {id: "4"}]; 
 
var filteredArray = array.filter(x => x.id != "" || x.id != null); 
 

 
console.log(filteredArray);

나는이 기대입니까? 어떻게 OR 문을 사용하여 배열을 필터링합니까?

+0

"* 및 *"는 "*** 및 **도 아닙니다 *"로 변환됩니다. – Bergi

답변

0

나는 정말 바보예요 ...

나는 OR 대신 AND 문을 사용해야합니다.

array.filter(x => x.id != "" && x.id != null); 

var array = [{id: "1"}, {id: "2"}, {id: ""}, {something: "else"}, {id: "3"}, {id: "4"}]; 
 
var filteredArray = array.filter(x => x.id != "" && x.id != null); 
 

 
console.log(filteredArray);

+1

또는'x =>! (x.id == ""|| x.id == null)'을 사용하십시오. – Bergi

0

당신은 뒤로 논리있어 - 당신은 id가합니다 (&& 연산자를 사용하여) 빈 문자열 아닌 null이 항목을 필터링하려면 :

array.filter(x => x.id != "" && x.id != null) 
// => [{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"}]