I don't have a clue! please help urgently
ayormeday (9)

function insertIntoMiddle(array, item) {

}

/ Do not modify code below this line /

Modify the function to insert the given number into the exact middle of the array and return the array.

const items = insertIntoMiddle([1, 3], 2);
console.log(insertIntoMiddle([1, 3], 2), '<-- should be [1, 2, 3]');
console.log(insertIntoMiddle([1, 3, 7, 9], 5), '<-- should be [1, 3, 5, 7, 9]');

You are viewing a single comment. View All
ash15khng (305)

Do you have any code yet? We can't just give you answers for your homework, but if you have any questions or errors we can help.

ayormeday (9)

@ash15khng
array.splice(2,1,item);
return array;

ash15khng (305)

@ayormeday That wouldn't work, as it assumes that the item is always at index 2, and replaces 1 item at index 2. Your solution is close though.

function insertIntoMiddle(array, item) {
    let middle = array.length / 2;
    array.splice(middle, 0, item);
    return array;
}

array.splice takes 3 arguments, which are:

  • the position or index of the item you're replacing
  • the number of items you're replacing (set to 0 if you want to insert)
  • the item you're replacing
    So by this logic, you need to get the index of the item in the middle, (the variable middle), then replace 0 items at index middle with item.

Hope this helps! If it's a bit confusing, feel free to ask questions.