Hướng dẫn javascript add object to array of objects - javascript thêm đối tượng vào mảng đối tượng

Giải pháp ES6 với toán tử lây lan:

event_id=[{"0":"e1"},{"0","e2"},{"0","e4"}];
event_id = [...event_id,{"0":"e5"}]

hoặc nếu bạn không muốn biến đổi event_id

newEventId = [...event_id,{"0":"e5"}]

Cập nhật: Để chèn đối tượng sau một chỉ mục cụ thể hoặc phím đối tượng hoặc giá trị đối tượng tương ứng, bạn có thể:: to insert object after a specific index or object key or object value respectively you can:

const arr = [{a:1},{b:2},{c:3},{d:4}]

arr.reduce[[list,obj,index]=>index===1 ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.keys[obj][0]==='b' ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.values[obj][0]===2 ? [...list,obj,{g:10}] : [...list,obj], []]

// output:  [ { a: 1 }, { b: 2 }, { g: 10 }, { c: 3 }, { d: 4 } ]

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 để biết những cách cụ thể để thao túng chúng gần 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ể cung cấp cho bạn câu trả lời?

Trong bài viết này, tôi sẽ chỉ cho bạn những điều cơ bản khi làm việc với các 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 đã 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. Có thể có nhiều loại và màu sắc của xe hơi, 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ôi đang 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 giống như thế này trong HTML:

Tôi không muốn lặp lại mã này 12 lần, điều này sẽ khiến nó không thể chịu đựng được.

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

Nhưng chúng ta hãy trở lại xe hơi. Hãy xem bộ xe này:

Chúng ta có thể đại diện cho nó như 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ác đối tượng không giữ nguyên mọi lúc. Chúng ta hầu như luôn cần phải thao túng chúng. Vì vậy, chúng ta hãy xem làm thế nào 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 - Array.unshift

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

newEventId = [...event_id,{"0":"e5"}]
7.

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

Thêm một đối tượng mới ở cuối - mảng.push

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

newEventId = [...event_id,{"0":"e5"}]
8.

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

Thêm một đối tượng mới ở giữa - mảng.splice

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

newEventId = [...event_id,{"0":"e5"}]
9. 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 các tham 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 Red Volkswagen Cabrio ở vị trí thứ năm, chúng tôi sẽ sử dụng:

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

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

Hãy để 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 loạt các đối tượng? Lý do tôi hỏi là vòng lặp gần như không bao giờ là nguyên nhân chính của những gì chúng ta muốn đạt được.

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ự thực hiện logic trong một chu kỳ chung. Hãy xem xét.

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

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

const arr = [{a:1},{b:2},{c:3},{d:4}]

arr.reduce[[list,obj,index]=>index===1 ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.keys[obj][0]==='b' ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.values[obj][0]===2 ? [...list,obj,{g:10}] : [...list,obj], []]

// output:  [ { a: 1 }, { b: 2 }, { g: 10 }, { c: 3 }, { d: 4 } ]
0.

let car = cars.find[car => car.color === "red"];

Hàm này trả về phần tử khớp đầu tiên:

newEventId = [...event_id,{"0":"e5"}]
0

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

const arr = [{a:1},{b:2},{c:3},{d:4}]

arr.reduce[[list,obj,index]=>index===1 ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.keys[obj][0]==='b' ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.values[obj][0]===2 ? [...list,obj,{g:10}] : [...list,obj], []]

// output:  [ { a: 1 }, { b: 2 }, { g: 10 }, { c: 3 }, { d: 4 } ]
1

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

Nhận nhiều mục từ một mảng phù hợp với điều kiện - mảng.filter

Hàm

const arr = [{a:1},{b:2},{c:3},{d:4}]

arr.reduce[[list,obj,index]=>index===1 ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.keys[obj][0]==='b' ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.values[obj][0]===2 ? [...list,obj,{g:10}] : [...list,obj], []]

// output:  [ { a: 1 }, { b: 2 }, { g: 10 }, { c: 3 }, { d: 4 } ]
0 chỉ trả về một đối tượng. Nếu chúng ta muốn có được tất cả những chiếc xe màu đỏ, chúng ta cần sử dụng
const arr = [{a:1},{b:2},{c:3},{d:4}]

arr.reduce[[list,obj,index]=>index===1 ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.keys[obj][0]==='b' ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.values[obj][0]===2 ? [...list,obj,{g:10}] : [...list,obj], []]

// output:  [ { a: 1 }, { b: 2 }, { g: 10 }, { c: 3 }, { d: 4 } ]
3.

newEventId = [...event_id,{"0":"e5"}]
1

Biến đổi các đối tượng của một mảng - mảng.map

Đây là một cái gì đó 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à một công việc cho

const arr = [{a:1},{b:2},{c:3},{d:4}]

arr.reduce[[list,obj,index]=>index===1 ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.keys[obj][0]==='b' ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.values[obj][0]===2 ? [...list,obj,{g:10}] : [...list,obj], []]

// output:  [ { a: 1 }, { b: 2 }, { g: 10 }, { c: 3 }, { d: 4 } ]
4. Giả sử chúng tôi muốn phân loại xe của chúng tôi thành ba nhóm dựa trên kích thước của chúng.

newEventId = [...event_id,{"0":"e5"}]
2

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

newEventId = [...event_id,{"0":"e5"}]
3

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

Nhưng nếu chúng ta muốn kích thước xe quá? Trong trường hợp đó, chúng tôi có thể tăng cường đối tượng cho một thuộc tính mới

const arr = [{a:1},{b:2},{c:3},{d:4}]

arr.reduce[[list,obj,index]=>index===1 ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.keys[obj][0]==='b' ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.values[obj][0]===2 ? [...list,obj,{g:10}] : [...list,obj], []]

// output:  [ { a: 1 }, { b: 2 }, { g: 10 }, { c: 3 }, { d: 4 } ]
5. Đây là một trường hợp sử dụng tốt cho chức năng
const arr = [{a:1},{b:2},{c:3},{d:4}]

arr.reduce[[list,obj,index]=>index===1 ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.keys[obj][0]==='b' ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.values[obj][0]===2 ? [...list,obj,{g:10}] : [...list,obj], []]

// output:  [ { a: 1 }, { b: 2 }, { g: 10 }, { c: 3 }, { d: 4 } ]
6.

newEventId = [...event_id,{"0":"e5"}]
4

Sắp xếp một mảng bằng một thuộc tính - mảng.sort

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 một thuộc tính mà mỗi đối tượng có. Chúng ta có thể sử dụng hàm

const arr = [{a:1},{b:2},{c:3},{d:4}]

arr.reduce[[list,obj,index]=>index===1 ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.keys[obj][0]==='b' ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.values[obj][0]===2 ? [...list,obj,{g:10}] : [...list,obj], []]

// output:  [ { a: 1 }, { b: 2 }, { g: 10 }, { c: 3 }, { d: 4 } ]
7, 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 tôi muốn sắp xếp những chiếc xe dựa trên năng lực của chúng theo thứ tự giảm dần.

newEventId = [...event_id,{"0":"e5"}]
5

const arr = [{a:1},{b:2},{c:3},{d:4}]

arr.reduce[[list,obj,index]=>index===1 ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.keys[obj][0]==='b' ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.values[obj][0]===2 ? [...list,obj,{g:10}] : [...list,obj], []]

// output:  [ { a: 1 }, { b: 2 }, { g: 10 }, { c: 3 }, { d: 4 } ]
7 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 hàm sắp xếp là dương. Vì vậy, bạn có thể nhìn vào chức năng sắp xếp như thể đó là một câu hỏi: đối tượng đầu tiên có nên được đặt ở vị trí thứ hai không?

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

Kiểm tra xem các đối tượng trong Array đáp ứng điều kiện - Array. Mọi người, Array.includes

const arr = [{a:1},{b:2},{c:3},{d:4}]

arr.reduce[[list,obj,index]=>index===1 ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.keys[obj][0]==='b' ? [...list,obj,{g:10}] : [...list,obj], []]
arr.reduce[[list,obj]=>Object.values[obj][0]===2 ? [...list,obj,{g:10}] : [...list,obj], []]

// output:  [ { a: 1 }, { b: 2 }, { g: 10 }, { c: 3 }, { d: 4 } ]
9 và
{
  "color": "purple",
  "type": "minivan",
  "registration": new Date['2012-02-03'],
  "capacity": 7
}
0 có í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 hơi không? Có phải tất cả những chiếc xe có khả năng vận chuyển ít nhất 4 người? Hoặc nhiều hơn trung tâm web: Có một sản phẩm cụ thể trong giỏ hàng không?

newEventId = [...event_id,{"0":"e5"}]
6

Bạn có thể nhớ hàm

{
  "color": "purple",
  "type": "minivan",
  "registration": new Date['2012-02-03'],
  "capacity": 7
}
1 tương tự như
{
  "color": "purple",
  "type": "minivan",
  "registration": new Date['2012-02-03'],
  "capacity": 7
}
0, nhưng chỉ hoạt động cho các loại nguyên thủy.

Bản tóm tắt

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

Nếu bạn có một 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 tham chiếu của các trường 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 :-]

Học mã miễn phí. Chương trình giảng dạy 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 để thêm một mục vào một mảng các đối tượng?

Hàm Push [] là một phương thức mảng tích hợp của JavaScript. Nó được sử dụng để thêm các đối tượng hoặc phần tử trong mảng. Phương pháp này thêm các phần tử ở cuối mảng. "Lưu ý rằng bất kỳ số lượng phần tử nào cũng có thể được thêm vào bằng phương thức push [] trong một mảng."push[] function is a built-in array method of JavaScript. It is used to add the objects or elements in the array. This method adds the elements at the end of the array. "Note that any number of elements can be added using the push[] method in an array."

Làm thế nào để bạn thêm một đối tượng vào một mảng mảng?

Để đạt được điều này, chúng tôi sẽ sử dụng phương pháp đẩy.Như bạn có thể thấy, chúng tôi chỉ cần chuyển đối tượng OBJ cho phương thức Push [] và nó sẽ thêm nó vào cuối mảng.Để thêm nhiều đối tượng vào một mảng, bạn có thể chuyển nhiều đối tượng làm đối số cho phương thức push [], sẽ thêm tất cả các mục vào cuối mảng.use the push method. As you can see, we simply pass the obj object to the push[] method and it will add it to the end of the array. To add multiple objects to an array, you can pass multiple objects as arguments to the push[] method, which will add all of the items to the end of the array.

Làm thế nào để bạn tự động thêm các giá trị vào một mảng các đối tượng trong JavaScript?

Có hai cách để tự động thêm một phần tử vào cuối mảng JavaScript.Bạn có thể sử dụng phương thức Array.Prototype.push [] hoặc bạn có thể tận dụng thuộc tính độ dài của mảng để lấy chỉ số của vị trí của phần tử mới.use the Array. prototype. push[] method, or you can leverage the array's “length” property to dynamically get the index of what would be the new element's position.

Làm thế nào để bạn thêm một cái gì đó vào một mảng trong JavaScript?

Concat [mảng, phần tử];Khi bạn muốn thêm một phần tử vào cuối mảng của bạn, hãy sử dụng Push [].Nếu bạn cần thêm một phần tử vào phần đầu của mảng của bạn, hãy sử dụng unShift [].Nếu bạn muốn thêm một phần tử vào một vị trí cụ thể của mảng của bạn, hãy sử dụng splice []. When you want to add an element to the end of your array, use push[] . If you need to add an element to the beginning of your array, use unshift[] . If you want to add an element to a particular location of your array, use splice[] .

Bài Viết Liên Quan

Chủ Đề