10 mẹo sử dụng array và object trong javascript

array,tipjs,object

1 - Loop over an object

const age = {
  john: 20,
  max: 43
};

// Solution 1 - Get 'keys' and loop over
const keys = Object.keys(age);
keys.forEach(key => age[key]++);

console.log(age); // { john: 21, max: 44 }

// Solution 2 - for..in loop
for(let key in age){
    age[key]++;
}

console.log(age); // { john: 22, max: 45 }

2 - Check if an object is empty

const obj = {};
console.log(!!obj); // always returns true, even if the object is empty

const totalKeys = Object.keys(obj).length; // returns the total number of keys in an object

console.log(totalKeys ? 'Not Empty' : 'Empty');

3 - Pick random element from an array

const themes = ['neo', 'black & white', 'color'];

const randomNumber =  Math.round(Math.random() * 100); // random number between 0 - 100
const randomElement = randomNumber % themes.length; // so that the number is within the arrays range 
console.log(themes[randomElement]);

4 - Check if a property exists in an object

const obj = {
  test: undefined
};

console.log( obj.test ); // undefined - cannot differentiate if the property is not present or the value is undefined

console.log( "test" in obj ); // true - the property exists

5 - Initialize an array of size n and fill with default values

const size = 5;
const defaultValue = 0;
const arr = Array(size).fill(defaultValue);
console.log(arr); // [0, 0, 0, 0, 0]

6 - Remove duplicates from array

const array = [1, 1, 2, 3, 5, 5, 1];
const uniqueArray = [...new Set(array)];

console.log(uniqueArray); // [1, 2, 3, 5]

7 - Insert something in middle of array

const arr = [1, 2, 3, 4];
const index = 2;
const insertText = "hello";

// Solution 1 - Split at the index and rejoin them
const result = [...arr.slice(0, index), insertText, ...arr.slice(index)];
console.log(result); // [1, 2, 'hello', 3, 4]

// Solution 2 - .splice() - It can be used to add/remove elements from array
const arrCopy = [...arr]; // splice modified the array on which the operation is performed.
arrCopy.splice(index, 0, insertText); // arguments are - index, no of elements to remove, new element to add
console.log(arrCopy); // [ 1, 2, 'hello', 3, 4 ]

8 - Check if a value is an array

const arr = [1, 2, 3];
console.log(typeof arr); // object
console.log(Array.isArray(arr)); // true

9 - Prevent an object's properties value from updating

const obj = {name: 'Codedrops'};
console.log(obj.name); // Codedrops

/* Set the 'writable' descriptor to false for the 'name' key  */
Object.defineProperty(obj, 'name', {
        writable: false
});

obj.name = 'ABC';
console.log(obj.name); // Codedrops

10 - Object keys are stored in insertion order

const obj = {
  name: "Human",
  age: 0,
  address: "Earth",
  profession: "Coder",
};

console.log(Object.keys(obj)); // name, age, address, profession
Objects maintain the order in which the keys were created.

Có thể bạn đã miss một số snippets code

using javascript callback style error handling

Kiểm tra phần tử trùng trong mảng JavaScript

Kiểm tra phần tử trùng trong mảng JavaScript.

Tránh viết biến có phạm vi global

Đôi khi bạn cần phải viết một tập lệnh trực tiếp trên trang. Cần lưu ý rằng trong code của bạn vô tình khai báo một biến toàn cầu. Vì phạm vi toàn cầu phức tạp hơn nên việc tìm kiếm chậm hơn rất nhiều

Random String

Random String với độ dài tuỳ chọn

Sử dụng reduce và concat làm phẳng một array

Array.reduce() và Array.concat() có thể giúp chúng ta làm phẳng một Array như: