Я нашел этот классный способ использования метода Array.prototype.filter
для удаления всех не чисел из строки, но я не совсем уверен, как он использует прототип Number
для достижения этого:
var arr = '75number9';
arr.split(/[^\d]/).filter(Number); // returns [75, 9]
Когда я проверяю typeof Number
, я возвращаюсь 'function'
. Что здесь происходит?
Добавление к моей путанице заключается в том, что если я заменил Number
на String
, результаты будут одинаковыми. Он по-прежнему работает!
arr.split(/[^\d]/).filter(String); // returns [75, 9]
Array
и Object
в качестве параметров, с другой стороны, верните это:
["75", "", "", "", "", "", "9"]
Очень любопытно это понять!