Как удалить ведущие нули из массива чисел в Javascript

 let array = [000232, 0043, 0000454523, 0234]

Ожидаемый результат: [232, 43, 454523, 234]

Есть много способов удалить начальные нули, если это строка или массив строк.

arr.map( (value) => { console.log(parseInt(value, 10) )})

Итак, что я пробовал, чтобы преобразовать эти массивы чисел в строковые значения:

1. array.map(String);
2. array.join().split(',');

Но это не работает, как ожидалось.

Любая помощь будет оценена по достоинству.


person RajuPedda    schedule 23.09.2019    source источник
comment
В числах нет начальных нулей o.O   -  person Andreas    schedule 23.09.2019
comment
Совершенно верно, здесь возможен реальный сценарий @Andreas: let array = [000232, 0043, 0000454523, 0234]   -  person Pitto    schedule 23.09.2019


Ответы (2)


При нулевом нулевом значении вы используете восьмеричные числа. Чтобы получить десятичные числа, вам нужно преобразовать обратно в восьмеричные и проанализировать эти значения как десятичные числа.

Этот подход работает только с массивом восьмеричных чисел. Невозможно проверить, взято ли значение из восьмеричного литерала.

let array = [000232, 0043, 0000454523, 0234],
    values = array.map(n => parseInt(n.toString(8), 10));

console.log(values);

person Nina Scholz    schedule 23.09.2019
comment
проверить ожидаемый результат - person Code Maniac; 23.09.2019
comment
Он по-прежнему печатает восьмеричные значения! Используйте 1_ - person sjahan; 23.09.2019
comment
почему печатается 154, 35, 153939, 156?? - person Saurabh Agrawal; 23.09.2019

Попробуй это:

  let tmpArray = [000232, 0043, 0000454523, 0234];
  let row1 = tmpArray.map(function (val) {
    return Number(val.toString(8));
  });
  console.log(row1);

person Saurabh Agrawal    schedule 23.09.2019