Skip to content

Commit

Permalink
update arrey manipulation examples
Browse files Browse the repository at this point in the history
  • Loading branch information
EmanuelQuintino committed Dec 14, 2023
1 parent 47e27ea commit 3da81ce
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 31 deletions.
91 changes: 62 additions & 29 deletions 5-JavaScript/class-04-data-manipulation/4-array.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,28 @@
// Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

const myArray = Array(1, "a", () => "A");
const array = Array(1, "a", () => "A", [], { name: "array" });

console.log(myArray);
console.log(myArray.length);
console.log(myArray[2]());
console.log(myArray.join("_"));
console.log(array);
console.log(array.length);
console.log(array[1]);
console.log(array[2]());
console.log(array[4].name);

console.log(array.join("_"));

console.log(array.includes("a"));
console.log("A" == "a");

console.log(array.indexOf("A")); // -1 not exist
const sliceNewArray = array.slice(1, -3); // new array
console.log(sliceNewArray);
console.log(array);

const spliceNewArray = array.splice(-2, 2); // modify
array.splice(1, 0, "insert");

console.log(spliceNewArray);
console.log(array);

const myName = "Emanuel";

Expand All @@ -14,53 +31,69 @@ console.log(myName.split("").reverse().join(""));

const techs = ["HTML", "CSS", "Git"];

// LIFO
techs.push("JavaScript");
console.log(techs);

techs.pop(); // LIFO
techs.pop();
console.log(techs);

const removeElementEnd = techs.pop();
console.log(`${removeElementEnd} foi removido do final!`);

// FIFO
techs.unshift("SQL");
console.log(techs);

techs.shift(); // FIFO
techs.shift();
console.log(techs);

const removeElementStart = techs.shift();
console.log(`${removeElementStart} foi removido do início!`);
console.log(techs);

techs.push("React");
techs.push("Node.js");
//destructure
const letters = ["A", "B", "C"];
const [item1, item2, ...rest] = letters;
console.log(item1);
console.log(item2);
console.log(rest);
console.log(...rest);

console.log(techs);
console.log(techs.includes("React"));
console.log("A" == "a");
// rest
function showArray(array, ...itens) {
console.log(array);
console.log(itens);
}

let index = techs.indexOf("Node.js"); // -1 not exist
console.log(index);
showArray(letters, "D", "E", "F");

const indexSlice = techs.slice(1, -1);
console.log(indexSlice);
// spread
const numbers = [1, 3, 42, 5, 87, 6];
console.log(numbers);
console.log(...numbers);
console.log(Math.max(...numbers));

const arrayLetters = ["A", "B", "C", "D", "E", "F"];
// value
let num1 = 1;
let num2 = num1;

const sliceNewArray = arrayLetters.slice(1, -3); // new array
console.log(sliceNewArray);
console.log(arrayLetters);
num1++;
num2--;

const spliceNewArray = arrayLetters.splice(-2, 2); // modify
console.log({ num1, num2 });

arrayLetters.splice(1, 0, "insert");
// reference
const numbers1 = [1, 2, 3];
const numbers2 = numbers1;

console.log(spliceNewArray);
console.log(arrayLetters);
const clone = [...numbers1]; // spread
// const [...clone] = numbers1; // rest

techs.splice(techs.indexOf("CSS"), 1);
techs.splice(1, 2, "Chat GPT", "Inglês");
console.log(techs);
numbers1.pop();

console.log({ numbers1, numbers2 });
console.log(clone);

console.log(arrayLetters + techs);
console.log(arrayLetters.concat(techs));
console.log(letters + techs);
console.log(letters.concat(techs));
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,4 @@ function deleteArrayElement(element, array) {
return array;
}

const newArray = deleteArrayElement("JavaScript", techs);
document.write(newArray);
console.log(deleteArrayElement("JavaScript", techs));

0 comments on commit 3da81ce

Please sign in to comment.