Число не преобразуется в строку. JS

228
19 октября 2018, 06:00

Есть массив объектов с полями name, phone. Значения в поле phone через цикл хочу преобразовать в строку. Содержатся там только цифры. Пробовал и String() и .toString(). и +"".

for (index in contactList){
  contactList[index].phone = String(contactList[index].phone);
  console.log(typeof contactList[index].phone);
}            
console.log(contactList);

В цикле выводит, что формат String. Но когда вывожу весь массив phone выводится числом. https://gyazo.com/e5a4d1c84e820aa9c167aff0e6f81aa5

Answer 1

Ваш contactList меняется где-то в непоказанном коде (возможно - асинхронно), и в консоли Вы видите обновленные объекты.

var contactList = [ 
  { name: "John", phone: 1234567890, contactSequence: 1 }, 
  { name: "Test", phone: 4444444444, contactSequence: 2 } 
]; 
 
console.log(contactList); 
for (var index in contactList){ 
  contactList[index].phone = String(contactList[index].phone); 
  console.log(typeof contactList[index].phone); 
}             
console.log(contactList);

READ ALSO
uncaught TypeError: Cannot set property '0' of undefined

uncaught TypeError: Cannot set property '0' of undefined

не могу понять почему выдает ошибку

207
SVG Pan и Zoom не работает

SVG Pan и Zoom не работает

При попытке реализовать Pan и Zoom для двух прямоугольников, не могу заставить это работать

279
Вывод из массива js

Вывод из массива js

В массиве 15 именКак вывести циклом for c седьмого по десятое имя

224
Как выполнить alert() в последнюю очередь?

Как выполнить alert() в последнюю очередь?

Есть вот такая функция, при её выполнении сначала выводится модальное окно, и только потом воспроизводиться аудиоНужно, чтоб сначала воспроизводилось...

194