Implement the filter Method on a Prototype explain

is it right or he want another code.

</>
// the global Array
var s = [23, 65, 98, 5];

Array.prototype.myFilter = function(callback){
  var newArray = [];
  // Add your code below this line
for (let i=0 ; i<s.length;i++){
if ( s[i] % 2 === 1){
   newArray.push(s[i]);
}
}  // Add your code above this line
  return newArray;
c
};

var new_s = s.myFilter(function(item){
  return item % 2 === 1;
});

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype

yes but i want to know if the code right or not i am confused can you explain the code :blush: pls

i made a for loop to check every element but i don’t understand why we write return item % 2 === 1; and i written it in the function above

is it right .


// the global Array
var s = [23, 65, 98, 5];

Array.prototype.myFilter = function(callback){
  var newArray = [];
  // Add your code below this line
for (let i=0 ; i<s.length;i++){
 let item = s[i];
if (callback(item)){
   newArray.push(item);
}
}  // Add your code above this line
  return newArray;

};

var new_s = s.myFilter(function(item){
  return item % 2 === 1;
});

is it it better now

// the global Array
var s = [23, 65, 98, 5];

Array.prototype.myFilter = function(callback){
  var newArray = [];

  // Add your code below this line
  let arr = s.slice();
for (let i=0 ; i<s.length;i++){
 let item = arr[i];
if (callback(item)){
   newArray.push(item);
}
}  // Add your code above this line
  return newArray;

};

var new_s = s.myFilter(function(item){
  return item % 2 === 1;
});
// the global Array
var s = [23, 65, 98, 5];

Array.prototype.myFilter = function(callback){
  var newArray = [];

  // Add your code below this line
for (let i=0 ; i<this.length;i++){
 let item = this[i];
if (callback(item)){
   newArray.push(item);
}
}  // Add your code above this line
  return newArray;

};

var new_s = s.myFilter(function(item){
  return item % 2 === 1;
});