Thứ tư, 12/07/2017 | 00:00 GMT+7

Object.values và Object.entries trong JavaScript


Với ES2017 (ES8), hàm tạo Đối tượng nhận được hai phương thức hữu ích mới: Object.valuesObject.entries . Hãy nhanh chóng xem qua việc sử dụng chúng.

Object.values

Object.values nhận một đối tượng và trả về một mảng với các giá trị, theo thứ tự mà vòng lặp for… in sẽ cung cấp cho ta . Ví dụ:

const myObj = {
  piggy: '🐷',
  birdy: '🐦',
  bunny: '🐰'
};

const myValues = Object.values(myObj); // ["🐷", "🐦", "🐰"]

Object.values không tuân theo chuỗi nguyên mẫu và chỉ lặp qua giá trị trực tiếp trên đối tượng được cung cấp. Nó cũng sẽ không trả về bất kỳ giá trị không thể liệt kê nào, như có thể thấy trong ví dụ này:

const myObj = {
  piggy: '🐷',
  birdy: '🐦',
  bunny: '🐰'
};

Object.defineProperty(myObj, 'koala', {
  value: '🐨',
  writable: true,
  configurable: true,
  enumerable: true
});

let myValues = Object.values(myObj);  // ["🐷", "🐦", "🐰", "🐨"]

Object.defineProperty(myObj, 'koala', {
  value: '🐨',
  writable: true,
  configurable: true,
  enumerable: false
});

myValues = Object.values(myObj); // ["🐷", "🐦", "🐰"]

Object.entries

Rất giống với phương pháp trước, Object.entries trả về một mảng với các mảng các cặp key-value :

const moreAnimals = {
  camel: '🐫',
  boar: '🐗',
  turkey: '🦃'
};

const entries = Object.entries(moreAnimals);
// [['camel','🐫'],['boar','🐗'],['turkey','🦃']]

Vì kiểu đối tượng bản đồ mới có thể được khởi tạo bằng cách sử dụng một mảng hình dạng mà Object.entries cung cấp cho ta , nên bây giờ rất dễ dàng để tạo bản đồ từ một đối tượng:

const moreAnimals = {
  camel: '🐫',
  boar: '🐗',
  turkey: '🦃'
};

const animalsMap = new Map(Object.entries(moreAnimals));

console.log(animalsMap.size); // 3
console.log(animalsMap.has('turkey')); // true
console.log(animalsMap.get('camel')); // '🐫'

Tags:

Các tin liên quan

Cách làm việc với chuỗi trong JavaScript
2017-07-11
Giới thiệu về Maps bằng JavaScript
2017-07-06
Hiểu cú pháp và cấu trúc mã trong JavaScript
2017-07-05
Cách thêm JavaScript vào HTML
2017-06-30
Cách sử dụng control panel dành cho nhà phát triển JavaScript
2017-06-29
Cách viết comment bằng JavaScript
2017-06-20
Hiểu các loại dữ liệu trong JavaScript
2017-06-01
Phương thức chuỗi padStart và padEnd trong JavaScript
2017-02-17
Các chữ mẫu được gắn thẻ trong JavaScript (ES6 / ES2015)
2017-02-07
Bắt đầu với Trực quan hóa Dữ liệu Sử dụng JavaScript và Thư viện D3
2016-12-28