Nhận đối tượng giá trị trong mảng javascript

Trung bình tôi làm việc với dữ liệu JSON 18 lần một tuần. Và tôi vẫn cần google để tìm những cách cụ thể để thao tác với chúng hầu như mọi lúc. Điều gì sẽ xảy ra nếu có một hướng dẫn cuối cùng luôn có thể cho bạn câu trả lời?

Trong bài viết này, tôi sẽ chỉ cho bạn những kiến ​​thức cơ bản về cách làm việc với mảng đối tượng trong JavaScript

Nếu bạn đã từng làm việc với cấu trúc JSON, bạn đã từng làm việc với các đối tượng JavaScript. Theo đúng nghĩa đen. JSON là viết tắt của Ký hiệu đối tượng JavaScript

Tạo một đối tượng đơn giản như thế này

{
  "color": "purple",
  "type": "minivan",
  "registration": new Date['2012-02-03'],
  "capacity": 7
}

Đối tượng này đại diện cho một chiếc xe hơi. Có thể có nhiều loại và màu xe ô tô, mỗi đối tượng sau đó đại diện cho một chiếc xe cụ thể

Bây giờ, hầu hết thời gian bạn nhận được dữ liệu như thế này từ một dịch vụ bên ngoài. Nhưng đôi khi bạn cần tạo các đối tượng và mảng của chúng theo cách thủ công. Giống như tôi đã làm khi tạo cửa hàng điện tử này

Xem xét từng mục danh sách danh mục trông như thế này trong HTML

Tôi không muốn mã này lặp lại 12 lần, điều này sẽ khiến mã không thể duy trì được

Tạo một mảng các đối tượng

Nhưng chúng ta hãy trở lại với ô tô. Cùng xem qua bộ dàn xe độ này nhé

Chúng ta có thể biểu diễn nó dưới dạng một mảng theo cách này

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]

Mảng của các đối tượng không giống nhau mọi lúc. Chúng ta hầu như luôn luôn cần phải thao túng chúng. Vì vậy, hãy xem cách chúng ta có thể thêm các đối tượng vào một mảng đã tồn tại

Thêm một đối tượng mới khi bắt đầu - Mảng. không dịch chuyển

Để thêm một đối tượng ở vị trí đầu tiên, hãy sử dụng

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
4

let car = {
  "color": "red",
  "type": "cabrio",
  "registration": new Date['2016-05-02'],
  "capacity": 2
}
cars.unshift[car];

Thêm đối tượng mới vào cuối - Mảng. đẩy

Để thêm một đối tượng ở vị trí cuối cùng, hãy sử dụng

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
5

let car = {
 "color": "red",
 "type": "cabrio",
 "registration": new Date['2016-05-02'],
 "capacity": 2
}
cars.push[car];

Thêm đối tượng mới vào giữa - Mảng. mối nối

Để thêm một đối tượng vào giữa, hãy sử dụng

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
6. Chức năng này rất tiện dụng vì nó cũng có thể loại bỏ các mục. Xem ra cho các thông số của nó

Array.splice[
  {index where to start},
  {how many items to remove},
  {items to add}
];

Vì vậy, nếu chúng tôi muốn thêm chiếc Volkswagen Cabrio màu đỏ vào vị trí thứ năm, chúng tôi sẽ sử dụng

________số 8

Lặp qua một mảng các đối tượng

Cho tôi hỏi bạn một câu hỏi ở đây. Tại sao bạn muốn lặp qua một mảng các đối tượng?

JavaScript cung cấp nhiều chức năng có thể giải quyết vấn đề của bạn mà không thực sự triển khai logic trong một chu trình chung. chúng ta hãy xem

Tìm đối tượng trong mảng theo giá trị của nó - Array. tìm thấy

Giả sử chúng ta muốn tìm một chiếc ô tô màu đỏ. Chúng ta có thể sử dụng chức năng

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
7

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
0

Hàm này trả về phần tử phù hợp đầu tiên

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
1

Cũng có thể tìm kiếm nhiều giá trị

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
8

Trong trường hợp đó, chúng tôi sẽ lấy chiếc xe cuối cùng trong danh sách

Lấy nhiều mục từ một mảng khớp với một điều kiện - Array. lọc

Hàm

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
7 chỉ trả về một đối tượng. Nếu chúng ta muốn lấy tất cả ô tô màu đỏ, chúng ta cần sử dụng
let car = {
  "color": "red",
  "type": "cabrio",
  "registration": new Date['2016-05-02'],
  "capacity": 2
}
cars.unshift[car];
0

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
5

Biến đổi các đối tượng của mảng - Array. bản đồ

Đây là thứ chúng ta cần rất thường xuyên. Chuyển đổi một mảng các đối tượng thành một mảng các đối tượng khác nhau. Đó là công việc dành cho

let car = {
  "color": "red",
  "type": "cabrio",
  "registration": new Date['2016-05-02'],
  "capacity": 2
}
cars.unshift[car];
1. Giả sử chúng tôi muốn phân loại ô tô của mình thành ba nhóm dựa trên kích thước của chúng

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
7

Cũng có thể tạo một đối tượng mới nếu chúng ta cần thêm giá trị

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
0

Thêm thuộc tính vào mọi đối tượng của mảng - Array. cho mỗi

Nhưng nếu chúng ta cũng muốn kích thước xe thì sao? . Đây là một trường hợp sử dụng tốt cho chức năng

let car = {
  "color": "red",
  "type": "cabrio",
  "registration": new Date['2016-05-02'],
  "capacity": 2
}
cars.unshift[car];
3

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
1

Sắp xếp mảng theo thuộc tính - Array. loại

Khi chúng ta hoàn thành việc chuyển đổi các đối tượng, chúng ta thường cần sắp xếp chúng theo cách này hay cách khác

Thông thường, việc sắp xếp dựa trên giá trị của thuộc tính mà mọi đối tượng có. Chúng ta có thể sử dụng hàm

let car = {
  "color": "red",
  "type": "cabrio",
  "registration": new Date['2016-05-02'],
  "capacity": 2
}
cars.unshift[car];
4, nhưng chúng ta cần cung cấp một hàm xác định cơ chế sắp xếp

Giả sử chúng ta muốn sắp xếp những chiếc xe dựa trên sức chứa của chúng theo thứ tự giảm dần

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
2

let car = {
  "color": "red",
  "type": "cabrio",
  "registration": new Date['2016-05-02'],
  "capacity": 2
}
cars.unshift[car];
4 so sánh hai đối tượng và đặt đối tượng đầu tiên vào vị trí thứ hai nếu kết quả của chức năng sắp xếp là dương. Vì vậy, bạn có thể xem chức năng sắp xếp như thể nó là một câu hỏi. Có nên đặt đối tượng đầu tiên ở vị trí thứ hai không?

Đảm bảo luôn thêm trường hợp bằng 0 khi giá trị được so sánh của cả hai đối tượng là như nhau để tránh hoán đổi không cần thiết

Kiểm tra xem các đối tượng trong mảng có thỏa mãn điều kiện hay không - Array. mọi, Mảng. bao gồm

let car = {
  "color": "red",
  "type": "cabrio",
  "registration": new Date['2016-05-02'],
  "capacity": 2
}
cars.unshift[car];
6 và
let car = {
  "color": "red",
  "type": "cabrio",
  "registration": new Date['2016-05-02'],
  "capacity": 2
}
cars.unshift[car];
7 hữu ích khi chúng ta chỉ cần kiểm tra từng đối tượng cho một điều kiện cụ thể

Chúng ta có một chiếc cabrio màu đỏ trong danh sách xe ô tô không? . Có một sản phẩm cụ thể trong giỏ hàng?

let cars = [
  {
    "color": "purple",
    "type": "minivan",
    "registration": new Date['2017-01-03'],
    "capacity": 7
  },
  {
    "color": "red",
    "type": "station wagon",
    "registration": new Date['2018-03-03'],
    "capacity": 5
  },
  {
    ...
  },
  ...
]
3

Bạn có thể nhớ chức năng

let car = {
  "color": "red",
  "type": "cabrio",
  "registration": new Date['2016-05-02'],
  "capacity": 2
}
cars.unshift[car];
8 tương tự như
let car = {
  "color": "red",
  "type": "cabrio",
  "registration": new Date['2016-05-02'],
  "capacity": 2
}
cars.unshift[car];
7, nhưng chỉ hoạt động với các kiểu nguyên thủy

Tóm lược

Trong bài viết này, chúng tôi đã giới thiệu các hàm cơ bản giúp bạn tạo, thao tác, biến đổi và lặp qua các mảng đối tượng. Họ nên bao gồm hầu hết các trường hợp bạn sẽ vấp phải

Nếu bạn có trường hợp sử dụng yêu cầu chức năng nâng cao hơn, hãy xem hướng dẫn chi tiết này về mảng hoặc truy cập tài liệu tham khảo trường học W3

Hoặc liên lạc với tôi và tôi sẽ chuẩn bị một bài viết khác. -]

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

Ondrej Polesny

Nhà phát triển Jamstack, người tạo và truyền phát video trên YouTube, nhà phát triển nhà phát triển @Kontent, người đam mê in 3D, người chơi AoE2 tồi, người yêu German Shepherd

Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Làm cách nào để lấy giá trị đối tượng trong mảng JavaScript?

Sử dụng đối tượng. phương thức values[] để lấy các giá trị của đối tượng dưới dạng một mảng , e. g. giá trị const = Đối tượng. giá trị [obj];. Phương thức này trả về một mảng chứa các giá trị thuộc tính của đối tượng theo thứ tự như được cung cấp bởi một đối tượng. trong vòng lặp.

Làm cách nào để lấy đối tượng cụ thể từ mảng trong JavaScript?

Để tìm kiếm một đối tượng cụ thể, chúng ta sẽ sử dụng phương thức tìm nguyên mẫu Array . Điều này trả về một giá trị trên một tiêu chí nhất định, nếu không, nó trả về 'không xác định'. Nó nhận hai tham số, một hàm gọi lại bắt buộc và một đối tượng tùy chọn, sẽ được đặt làm giá trị this bên trong hàm gọi lại.

Làm cách nào để chỉ nhận các giá trị từ đối tượng trong JavaScript?

values[] . đối tượng. Phương thức values[] được sử dụng để trả về một mảng các giá trị thuộc tính có thể đếm được của chính đối tượng. Mảng có thể được lặp bằng vòng lặp for để lấy tất cả các giá trị của đối tượng.

Làm cách nào để truy cập giá trị trong đối tượng JavaScript?

Bạn có thể truy cập các thuộc tính của một đối tượng trong JavaScript theo 3 cách. .
Trình truy cập thuộc tính dấu chấm. vật. tài sản
Truy cập thuộc tính dấu ngoặc vuông. đối tượng ['thuộc tính']
phá hủy đối tượng. const {thuộc tính} = đối tượng

Chủ Đề