Aquí usamos la función de clasificación para ordenar la array e imprimiríamos la array y la posición del nuevo elemento en el DOM.
Acercarse:
- Crea una array vacía.
- Ahora haga una función de clasificación tomando el parámetro como una array.
- Ahora haga una función onClick ya que cada vez que se presiona el botón, la función se ejecuta automáticamente.
- En la función onClick, primero agregaríamos el elemento a la array y luego encontraríamos la posición del elemento usando la función de iterador
- Al encontrar la posición, veríamos si el elemento de la array es mayor o no, en caso afirmativo, marque esa posición y rompa el bucle.
- Ahora, al final, imprimiríamos la array y la posición del elemento recién agregado en el DOM.
HTML
<!DOCTYPE html> <html lang="en"> <head> <script src="gfg.js"></script> <style> input { width: 300px; height: 25px; } button { width: 100px; height: 31px; } </style> </head> <body> <p style="font-size: 35px;"> Input the elements in the array : </p> <input type="text" id="element"> <button type="button" onclick="add()">ADD</button> <br> <span id="array" style="font-size: 25px;"></span> <br> <span id="new-position-array" style="font-size: 25px;"> </span> </body> </html>
gfg.js
// Creating an empty array and when we add the
// elements we increase the number of elements
// by 1
const arr = Array();
var numberOfElements = 0;
// Sorting function to sort the array
// Here we use the selection sort
// algorithm for sorting
function sort(arr) {
for (let i = 0; i < arr.length; i++) {
let min = i;
for (let j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[min])
min = j;
}
let temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
}
// onClick function add
function add() {
// Taking the input from the text box to
// add the element to the given array
arr[numberOfElements] = parseInt(
document.getElementById("element").value);
// Increasing the array length to add
// next number to the array
numberOfElements++;
// Variables to find the position of
// the newly added element
var position = 0;
var flag = false;
// Finding the position of the newly added
// element in the sorted array
var newElement = arr[numberOfElements - 1];
for (let i = 0; i < arr.length; i++) {
// If the array element is greater then
// the newly added element than mark that
// position and break the loop as this is
// the position of newly added element in
// the given sorted array
if (arr[i] > newElement) {
position = i;
flag = true;
break;
}
}
// If the newly added element is highest among
// the elements in the array then its position
// would be the array length - 1
if (flag == false)
position = arr.length - 1;
// Now calling the sort function to sort the
// given array after insertion
sort(arr);
// For printing into the DOM
document.getElementById("element").value = "";
var print = "Array is : ";
for (let i = 0; i < arr.length; i++) {
print += arr[i] + " ";
}
document.getElementById("array").innerHTML = print;
document.getElementById("new-position-array").innerHTML
= "New element: " + newElement + " at Position: "
+ position;
}
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA