 # JavaScript: Find the number of inversions of a specified array of integers

## JavaScript Basic: Exercise-102 with Solution

Write a JavaScript program to find the number of inversions of a given array of integers.

Note: Two elements of the array a stored at positions i and j form an inversion if a[i] > a[j] and i < j.

Sample Solution:

HTML Code:

``````<!DOCTYPE html>
<html>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title> Find the number of inversions of a specified array of integers</title>
<body>

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

JavaScript Code:

``````function number_of_InversionsNaive(arr) {
var ctr = 0;
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j])
ctr++;
}
}
return ctr;
}

console.log(number_of_InversionsNaive([0, 3, 2, 5, 9]));
console.log(number_of_InversionsNaive([1, 5, 4, 3]));
console.log(number_of_InversionsNaive([10, 30, 20, -10]));
``````

Sample Output:

```1
3
4
```

Flowchart: ES6 Version:

``````function number_of_InversionsNaive(arr) {
let ctr = 0;
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j])
ctr++;
}
}
return ctr;
}

console.log(number_of_InversionsNaive([0, 3, 2, 5, 9]));
console.log(number_of_InversionsNaive([1, 5, 4, 3]));
console.log(number_of_InversionsNaive([10, 30, 20, -10]));
``````

Live Demo:

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

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