v1
5/25/2021 by pushkine -00
Setup HTML - click to add setup HTML
disable setup JavaScript
Setup JavaScript
function shuffle(array) {
  var currentIndex = array.length, temporaryValue, randomIndex;

  // While there remain elements to shuffle...
  while (0 !== currentIndex) {

    // Pick a remaining element...
    randomIndex = Math.floor(Math.random() * currentIndex);
    currentIndex -= 1;

    // And swap it with the current element.
    temporaryValue = array[currentIndex];
    array[currentIndex] = array[randomIndex];
    array[randomIndex] = temporaryValue;
  }

  return array;
}

function spliceA(arr, item) {
	if(arr.length > 3){arr.splice(arr.indexOf(item), 1);return;}
	switch (arr.length) {
		case 1:
			arr.length = 0;
			return;
		case 2:
			if (arr[0] === item) arr[0] = arr[1];
			arr.length = 1;
			return;
		case 3:
			switch (item) {
				case arr[0]:
					arr[0] = arr[1];
				case arr[1]:
					arr[1] = arr[2];
			}
			arr.length = 2;
			return;
	}
}
function spliceB(arr, item){
	arr.splice(arr.indexOf(item), 1);
}
const length= 100;
delete caserun single casemove downdrag and drop case


ready



const arr = Array.from({length}, (_,i)=>i);

shuffle(arr).forEach((v)=>spliceB(arr,v));
delete caserun single casemove updrag and drop case


ready



const arr = Array.from({length}, (_,i)=>i);

shuffle(arr).forEach((v)=>spliceA(arr,v));
Test Case - click to add another test case
Teardown JS - click to add teardown JavaScript
Output (DOM) - click to monitor output (DOM) while test is running
RUN