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 (306)

@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.