01/10/2018, 15:05

Xin hướng dẫn lọc object bằng typescript hoặc javascript ạ

Hiện mình đang có file object như này ạ:

   {
          "name": "Germany",
          "series": [
            {
              "name": "2010",
              "value": 7300000
            },
            {
              "name": "2010",
              "value": 940000
            },
            {
              "name": "2011",
              "value": 887000
            }
          ]
    }

Cả nhà cho mình hỏi làm sao để lấy được giá trị của “name” thành ví dụ year:any = [2010,2011];
Chứ không phải year:any=[2010,2010,2011];
Kiểu nó tự loại bỏ các thành phần trùng lặp.
bằng typescript ạ hoặc javascript để tham khảo ạ
Cảm ơn mọi người

Tên Gì Cũng Được viết 17:16 ngày 01/10/2018

x.series.map(item => item.name).filter((value, index, self) => self.indexOf(value) === index)

Bảo Ngọc viết 17:17 ngày 01/10/2018

Thanks a lot, it works

Bảo Ngọc viết 17:09 ngày 01/10/2018

có cách nào lọc nhiều thành phần không ạ?

Tên Gì Cũng Được viết 17:17 ngày 01/10/2018

Bạn cho thử ví dụ mẫu

Bảo Ngọc viết 17:18 ngày 01/10/2018

à,mình hiểu rồi ạ, cảm ơn bạn, đang làm việc trên chart xuất ra khó quá

Bảo Ngọc viết 17:05 ngày 01/10/2018

Hi bạn mình có ví dụ rồi, mình có object có 3 giá trị:

 {
          "name": "Germany",
          "series": [
            {
              "date": "2010",
              "currency": "USD",
              "amount":"10000"
            },
            {
             "date": "2010",
              "currency": "USD",
              "amount":"20000"
            },
            {
              "date": "2010",
              "currency": "VND",
              "amount":"10000"
            }
          ]
    }

Giờ mình muốn lấy giá trị USD và năm 2010, ở trên có 2 thành phần mình muốn lấy amount của 2 cái đó cho vài 1 object ạ.
Phiền bạn hướng dẫn thêm giúp mình

Tên Gì Cũng Được viết 17:19 ngày 01/10/2018

result = x.series.filter((value) => value.date == 2010 && value.currency == “USD”).map(item => item.amount)

Những gì bạn cần ở mấy tài tập như thế này chủ yếu là “filter” và “map”.
Cứ tham khảo link ở dưới (nếu như khó hiểu quá thì search trên w3 cũng được).

MDN Web Docs

Array.prototype.filter()

The filter() method creates a new array with all elements that pass the test implemented by the provided function.


MDN Web Docs

Array.prototype.map()

The map() method creates a new array with the results of calling a provided function on every element in the calling array.

Bảo Ngọc viết 17:09 ngày 01/10/2018

cảm ơn bạn nhiều ạ …

Bài liên quan
0