2017-03-28 2 views
0

주어진 데이터에서 '0'또는 'EMPTY'상태의 좌표를 얻는 방법은 궁금합니다.[0,1] 상태를 기반으로 특정 좌표를 정렬하는 방법

var locations = [ 
    ['FULL',3.720185, 103.124075,1], 
    ['EMPTY',3.719693, 103.123896,0], 
    ['FULL',3.720916, 103.12492,1], 
    ['EMPTY',3.721032, 103.124532,0], 
    ['FULL',3.722299, 103.124587,1], 
    ['FULL',3.723189, 103.124706,1], 
    ['FULL',3.725067, 103.124593,1] 
    ]; 

    for (var k=0;k<locations.length; k++) 
    { 
     if (locations[i][3]==0) { 
     var diff=getDistanceFromLatLonInKm(position.coords.latitude,position.coords.longitude,locations[k][1],locations[k][2]); 
     x.innerHTML = "<h1>Distance of nearest bin: "+ Math.min(diff)+"km</h1>"; 
     } 

이것은 내가 지금까지 시도한 것입니다.

+0

필터링 또는 정렬 중 원하는 것을 추가하십시오. [0, 1]은 어떻게됩니까? 무슨 뜻이에요? –

답변

0

사용 Array#filter, 각 위치에 배열 0 동일 EMPTY 또는 네 번째 요소와 동일한 제 소자 (falsy이다)이 있는지 여부를 확인하는 조건부 기능 통과 :

var locations = [ 
 
    ['FULL', 3.720185, 103.124075, 1], 
 
    ['EMPTY', 3.719693, 103.123896, 0], 
 
    ['FULL', 3.720916, 103.12492, 1], 
 
    ['EMPTY', 3.721032, 103.124532, 0], 
 
    ['FULL', 3.722299, 103.124587, 1], 
 
    ['FULL', 3.723189, 103.124706, 1], 
 
    ['FULL', 3.725067, 103.124593, 1] 
 
] 
 

 
var result = locations.filter(function (e) { 
 
    return e[0] === 'EMPTY' || !e[3] 
 
}) 
 

 
console.log(result)
.as-console-wrapper { min-height: 100%; }

0

너 수 있습니다 filter 위치 :

var locations = [ 
 
    ['FULL', 3.720185, 103.124075, 1], 
 
    ['EMPTY', 3.719693, 103.123896, 0], 
 
    ['FULL', 3.720916, 103.12492, 1], 
 
    ['EMPTY', 3.721032, 103.124532, 0], 
 
    ['FULL', 3.722299, 103.124587, 1], 
 
    ['FULL', 3.723189, 103.124706, 1], 
 
    ['FULL', 3.725067, 103.124593, 1] 
 
]; 
 

 
var emptyLocations = locations.filter(function(location) { 
 
    return location[0] === 'EMPTY' || location[3] === 0; 
 
}); 
 

 
console.log(emptyLocations); 
 
// [["EMPTY", 3.719693, 103.123896, 0], ["EMPTY", 3.721032, 103.124532, 0]]

관련 문제