w3resource

JavaScript: Swap two halves of a given array of integers of even length

JavaScript Basic: Exercise-148 with Solution

Swap Halves of Even-Length Array

Write a JavaScript program to swap two halves of a given array of integers of even length.

Visual Presentation:

JavaScript: Swap two halves of a given array of integers of even length.

Sample Solution:

JavaScript Code:

/**
 * Function to swap the halves of an array
 * @param {Array} iarra - The input array
 * @returns {(boolean|Array)} - Swapped array if even length, otherwise false
 */
function halv_array_swap(iarra) {
  // Check if the array length is even
  if ((iarra.length % 2) !== 0) {
    return false; // Return false if the array length is odd
  }

  // Swap the halves of the array
  for (var i = 0; i < iarra.length / 2; i++) {
    var tmp = iarra[i]; // Temporary variable to store the current element
    iarra[i] = iarra[i + iarra.length / 2]; // Swap the first half with the second half
    iarra[i + iarra.length / 2] = tmp; // Swap the second half with the first half
  }
  return iarra; // Return the swapped array
}

// Test cases
console.log(halv_array_swap([1, 2, 3, 4, 5, 6])); // Output: [4, 5, 6, 1, 2, 3]
console.log(halv_array_swap([1, 2, 3, 4, 5, 6, 7])); // Output: false 

Output:

[4,5,6,1,2,3]
false

Live Demo:

See the Pen javascript-basic-exercise-148 by w3resource (@w3resource) on CodePen.


Flowchart:

Flowchart: JavaScript - Swap two halves of a given array of integers of even length

ES6 Version:

/**
 * Function to swap the halves of an array
 * @param {Array} iarra - The input array
 * @returns {(boolean|Array)} - Swapped array if even length, otherwise false
 */
const halv_array_swap = (iarra) => {
  // Check if the array length is even
  if ((iarra.length % 2) !== 0) {
    return false; // Return false if the array length is odd
  }

  // Swap the halves of the array
  for (let i = 0; i < iarra.length / 2; i++) {
    // Use destructuring assignment for swapping elements
    [iarra[i], iarra[i + iarra.length / 2]] = [iarra[i + iarra.length / 2], iarra[i]];
  }

  return iarra; // Return the swapped array
};

// Test cases
console.log(halv_array_swap([1, 2, 3, 4, 5, 6])); // Output: [4, 5, 6, 1, 2, 3]
console.log(halv_array_swap([1, 2, 3, 4, 5, 6, 7])); // Output: false

Improve this sample solution and post your code through Disqus.

Previous: JavaScript program to compute the sum of all digits that occur in a given string.
Next: JavaScript program to change the capitalization of all letters in a given string.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/javascript-exercises/javascript-basic-exercise-148.php