2010-12-11 15 views
2
var place = [] 

place[0] = "Sant Marti de Canals"; 
place[1] = "Catalonia"; 
place[3] = ""; 
place[4] = "Spain"; 

placeTitle = place.join(","); 

電流出力がある「サンマルティデ運河、カタロニア,,,スペイン」javascriptのチェック配列のキーが設定されている場合

どのようにそれは「サンマルティデ運河、カタルーニャ、スペイン」することができ

答えて

2

このために独自のコードを書くことはあなたが他の多くの状況で有用である、フィルタ機能を定義することができ

var place = [] 

place[0] = "Sant Marti de Canals"; place[1] = "Catalonia"; place[3] = ""; place[4] = "Spain"; 

var placeTitle =''; 
for(var test in place) { 
    placeTitle += place[test]!=''?place[test]+',':''; 
} 
placeTitle = placeTitle.substr(0,placeTitle.length-1) 
+0

、次いで除去 ''終了時に。 –

3

を助けることができます。

Array.prototype.filter = function(p) { 
    var a = []; 
    p = p || function (x) {return x;} 
    for (var i = 0; i<this.length; ++i) { 
     if (p(this[i])) { 
      a.push(this[i]); 
     } 
    } 
    return a; 
} 

... 

placeTitle = place.filter().join(', '); 
+1

私はする必要はありません。空文字列は 'false'に変換されるため、結果配列には含まれません。私が考慮していないもの(この場合は必要でないため)は「0」です(存在していたもの)も除外されます。 – outis

0
placeCopy=[]; 
for(var i=0;i<place.length;i++){ 
    if(typeof place[i] != 'undefined' && place[i].length > 0){ 
    placeCopy.push(place[i]); 
    } 
} 
placeTitle = placeCopy.join(","); 
関連する問題