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

## JavaScript Basic: Exercise-148 with Solution

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

Pictorial Presentation: Sample Solution:

HTML Code:

``````<!DOCTYPE html>
<html>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Swap two halves of a given array of integers of even length.</title>
<body>

</body>
</html>
```
```

JavaScript Code:

``````function halv_array_swap(iarra) {
if (((iarra.length)%2)!=0)
{
return false;
}

for (var i = 0; i < iarra.length / 2; i++) {
var tmp = iarra[i];
iarra[i] = iarra[i + iarra.length / 2];
iarra[i + iarra.length / 2] = tmp;
}
return iarra;
}

console.log(halv_array_swap([1,2,3,4,5,6]))
console.log(halv_array_swap([1,2,3,4,5,6,7]))
``````

Sample Output:

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

Flowchart: ES6 Version:

``````function halv_array_swap(iarra) {
if (((iarra.length)%2)!=0)
{
return false;
}

for (let i = 0; i < iarra.length / 2; i++) {
const tmp = iarra[i];
iarra[i] = iarra[i + iarra.length / 2];
iarra[i + iarra.length / 2] = tmp;
}
return iarra;
}

console.log(halv_array_swap([1,2,3,4,5,6]))
console.log(halv_array_swap([1,2,3,4,5,6,7]))
``````

Live Demo:

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

Improve this sample solution and post your code through Disqus

What is the difficulty level of this exercise?

﻿

## JavaScript: Tips of the Day

Classes/function constructors

```class Person {
constructor() {
this.name = 'Owen';
}
}

Person = class AnotherPerson {
constructor() {
this.name = 'Eddie';
}
};

const member = new Person();
console.log(member.name);
```

We can set classes equal to other classes/function constructors. In this case, we set Person equal to AnotherPerson. The name on this constructor is Eddie, so the name property on the new Person instance member is "Eddie".

Ref: https://bit.ly/3jFRBje