Allen F - 5 months ago 8x
Javascript Question

# How to strip non integers in array elements in JavaScript

I'm quite new to programming, and I feel that similar questions have been asked before. But I've tried to apply them and know I am missing something fundamental.

Given an array:

``````var myArray = [24.203, 12*45, 000-1, 4567+00];
``````

I'd like to strip all non integers, so that I have something like this:

``````var myArray = [24203, 1245, 0001, 456700];
``````

I know of the .replace method, but I can't seem to get it work. Here are four things I've tried:

``````function stripNonIntegers(arr) {
var x;
this.myArray = myArray;
for(x = 0; x < 10; x++) {
myArray[x] = myArray[x].replace(/\D/g, '');
} }
stripNonIntegers(myArray);
``````

This returns an error saying myArray is undefined.

``````var x;(myArray); { //I don't like the semicolons but I get an error if I omit them
for(x = 0; x < 10; x++)
{myArray[x] = myArray[x].replace(/\D/g, '');
} }
``````

this returns an error saying x is undefined.

``````    stripNonIntegers= function(arr) {
for (x =0; x<this.length; x++)
myArray.replace(/\D/g,'');};
stripNonIntegers(myArray);
``````

This output is undefined.

``````var stripNonIntegers= myArray[x]; {
for (x=0; x<myArray.length; x++) {
stripNonIntegers = myArray.replace(/[^\d]/g, '');
} }
``````

And this one also says x is undefined. This post explains how to use the .replace method with a regex of /D to strip non-numerics from a string, but I can't seem to get it to work with an array (not a function). Thus I try to stick a 'for' loop in there so it treats each element as its own string. I know I'm making a stupid mistake, but for all my trying, I can't identify it. I'm shooting in the dark.

``````var myArray = ['24.203', '12*45', '000-1', '4567+00'];
`\D` is a shorthand character class that matches all non-digits.