Skip to content

Instantly share code, notes, and snippets.

Created April 18, 2017 07:28
Show Gist options
  • Save anonymous/05382dbe63e06d26606d06a45776467a to your computer and use it in GitHub Desktop.
Save anonymous/05382dbe63e06d26606d06a45776467a to your computer and use it in GitHub Desktop.
8.2 My Splice created by smillaraaq - https://repl.it/HJLw/14
function mySplice(arr,start,numEles){
//remove item at 'start'
//remove numEles incl 'start'
//modify original array
//do not use splice
var tmpArray = [];
var modifiedElements=[];
for(var i=0; i<arr.length;i++){
if(i<start || i>start+numEles-1){
tmpArray.push(arr[i]);
}else{
modifiedElements.push(arr[i]);
}
}
myArray=tmpArray.slice();
//console.log("arr", arr, "modifiedElements", modifiedElements);
return modifiedElements;
}
var myArray = [1,2,3];
console.log("returned elements: ", mySplice(myArray, 1, 1)) // [2]
console.log(myArray) // [1,3]
/* SCHOOL SOLUTION
function mySplice(arr, start, deleteCount) {
var deletedArr = [];
var startElements = [];
//Remove members up to start
for (var i=0; i<start; i++) {
startElements.push(arr.shift());
}
//Remove deleted elements
for (var j=0; j<deleteCount; j++) {
deletedArr.push(arr.shift());
}
//Add start elements back into the original array
var startElementsLength = startElements.length;
for (var z=0; z<startElementsLength; z++) {
arr.unshift(startElements.pop());
}
return deletedArr;
}
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment