Как преобразовать массив в строку и проверить с помощью функции alert()?

#javascript #arrays #tostring

#javascript #массивы #tostring

Вопрос:

Я хочу создать массив, преобразовать его в строку и отобразить массив.

Вот мой код javascript:

 <script type="text/javascript">
    var instruments = ["guitar", "piano", "drum"];
    document.getElementById('demo').innerHTML = instruments.toString();
    alert(typeof (instruments));
</script>
 

Я хочу, чтобы оповещение указывало тип строк и выводило

 <!DOCTYPE html>
<html>
<head>
    <title>Javascript Array String</title>
</head>
<body>
    <p id="demo"></p>
</body>

<script type="text/javascript">
    var instruments = ["guitar", " piano", " drum"];
    document.getElementById('demo').innerHTML = instruments.toString();
    alert(typeof (instruments));
</script>
    
 </html> 

, но он появляется как объект.

Комментарии:

1. instruments.toString() успешно возвращает вам строку, но массив остается массивом. Если вам нужна строка, вы должны вызывать toString ее каждый раз — или сохранять ее в переменной

Ответ №1:

Я некоторое время играл с этим кодом и, наконец, пришел к ответу, который соответствовал моему ожидаемому результату. Если есть что-то, что я могу еще импровизировать, пожалуйста, дайте мне знать.

 <!DOCTYPE html>
<html>

<head>
  <title>Array into String</title>
</head>

<body>
  <h1>Array Into String Conversion</h1>


  <script type="text/javascript">
    var instruments = ["Guitar", " Piano", " Drum"];
    var str = instruments.toString();

    document.write("Array into string = "   str);

    alert(typeof(str));
  </script>
</body>

</html> 

Ответ №2:

Вы должны выполнить цикл for, чтобы изолировать каждую строку массива:

   for (let i = 0; i < instruments.length; i  )
    {  instruments.toString()  }
 

Ответ №3:

  var instruments = ["guitar", "piano", "drum"];
 const string= instruments.join('');
 alert(string)
 console.log(string) 

  var instruments = ["guitar", "piano", "drum"];
 const string= instruments.join('');
 alert(instruments)
 console.log(string)