2013-07-08 2 views
0

Я пытаюсь присоединиться список latLng значений, которые хранятся в массиве, как это:Присоединяйтесь массив JavaScript в двойные кавычки

"48.2025,16.3687","48.2437,16.3797" 

Вместо этого, я получаю выход, как это:

"48.2025,16.3687,48.2437,16.3797" 

Это код, который я использую:

$(document).ready(function() 
    { 

    $('#printMapLatLng').click(function() 

     { 
      var printPoints = []; 
      for (var i in points) { 
       var input = points[i].LatLng.toString(); 
       var output = ''+input.replace(/\s/g, "").slice(1,-1)+''; 
       printPoints.push(output); 
      }   
       var fullArray = printPoints.join(); 
       $(this).attr('href',PowerHour.getPrintUrl([fullArray])); 
     }); 
}); 
+2

points.map (функция (х) {возвращение ' " '+ х +'"';}). Присоединиться (""); –

+0

Каков ожидаемый результат? Вложенный массив, содержащий массив пары координат в каждой «строке»? – Teemu

+0

'var output = '' + input.replace (/ \ s/g," ") .slice (1, -1) + '';' Что это должно делать? – Ryan

ответ

1

Вы можете сделать это, чтобы получить выход

var fullArray = "\"" + printPoints.join("\",\"") + "\""; 
+1

Вы также можете отказаться от экранирования, используя разные кавычки: 'var fullArray = '"' + printPoints.join ('","') + '' '; ' –

+0

yeah У меня есть еще 2 дополнительные кавычки. любое решение? –

2

Это должно помочь :)

var points = ["48.2025,16.3687","48.2437,16.3797"]; 
points.map(function(p){ return '"' + p + '"'; }).join(','); 
// => '"48.2025,16.3687","48.2437,16.3797"' 
+0

Похоже, у OP есть такой массив: '[" 48.2025,16.3687 "," 48.2437,16.3797 "]', может быть, лучше не менять этот факт? – Teemu

+0

@Teemu: Этот массив тоже будет работать. – Ryan

+0

@minitech Yep, с массивом в ответе, результат 1D -array, с массивом в вопросе, в результате получается 2D-массив: (. – Teemu

Смежные вопросы