Cách lưu trữ nhiều giá trị trong đối tượng javascript

Tìm hiểu cách trả về nhiều giá trị từ một lệnh gọi hàm trong Javascript. Không giống như go lang, JavaScript không có cách riêng để trả về nhiều giá trị từ một hàm. Trong bài đăng này, bạn sẽ học cách ứng biến vấn đề này và giải quyết vấn đề nếu bạn phải lấy lại nhiều giá trị từ lệnh gọi hàm JavaScript. Đã đến lúc bắt đầu

Cách lưu trữ nhiều giá trị trong đối tượng javascript

Mục lục

Hàm JavaScript trả về một giá trị

Khi hàm

package main

import "fmt"

func getPersonalData() (string, int) {
return "John Doe", 24
}

func main() {
fullName, age := getPersonalData()
fmt.Println(fullName)
fmt.Println(age)
}
1 bên dưới chạy, nó sẽ trả về một giá trị chuỗi đơn cho
package main

import "fmt"

func getPersonalData() (string, int) {
return "John Doe", 24
}

func main() {
fullName, age := getPersonalData()
fmt.Println(fullName)
fmt.Println(age)
}
2 của một người

function getPersonalData() {
const fullName = ‘John Doe'
}

Giả sử nếu bạn có nhu cầu trả về nhiều giá trị từ hàm

package main

import "fmt"

func getPersonalData() (string, int) {
return "John Doe", 24
}

func main() {
fullName, age := getPersonalData()
fmt.Println(fullName)
fmt.Println(age)
}
1 như cả tên đầy đủ và tuổi của người đó, bạn sẽ hoàn thành việc đó như thế nào?

Trả về nhiều giá trị trong Go lang

Trong các ngôn ngữ như Go lang, có khả năng trả về nhiều giá trị từ một hàm, bên dưới là ví dụ mã với Go

package main

import "fmt"

func getPersonalData() (string, int) {
return "John Doe", 24
}

func main() {
fullName, age := getPersonalData()
fmt.Println(fullName)
fmt.Println(age)
}

Như bạn có thể thấy ở trên, hàm

package main

import "fmt"

func getPersonalData() (string, int) {
return "John Doe", 24
}

func main() {
fullName, age := getPersonalData()
fmt.Println(fullName)
fmt.Println(age)
}
1 trả về hai giá trị. Cái đầu tiên là chuỗi cho tên đầy đủ và cái thứ hai là một số nguyên cho tuổi. Nó có sẵn trên Go Playground nếu bạn muốn mân mê xung quanh

Thật không may, JavaScript không có cách riêng như trong Go lang để trả về nhiều giá trị từ một hàm. Nhưng có hai cách tích hợp và dễ dàng để trả về nhiều giá trị từ một hàm trong JavaScript với Mảng và Đối tượng. Trong phần tiếp theo, có một ví dụ về trả về nhiều giá trị với một mảng

Trả về nhiều giá trị trong hàm JavaScript bằng một mảng

Một mảng JavaScript có thể được sử dụng để giải quyết vấn đề trả về nhiều giá trị từ cùng một hàm. Dưới đây là hai ví dụ về cách sử dụng một mảng JavaScript để trả về nhiều giá trị. Nó sẽ trả về cả tên đầy đủ và tuổi của người đó từ hàm

package main

import "fmt"

func getPersonalData() (string, int) {
return "John Doe", 24
}

func main() {
fullName, age := getPersonalData()
fmt.Println(fullName)
fmt.Println(age)
}
1

function getPersonalData() {
const fullName = 'John Doe';
const age = 24;

return [fullName, age];
}

const person = getPersonalData();
console.log(`${person[0]} is ${person[1]} years old.`);

Như đã thấy ở trên, nhiều (hai) giá trị đã được trả về từ hàm

package main

import "fmt"

func getPersonalData() (string, int) {
return "John Doe", 24
}

func main() {
fullName, age := getPersonalData()
fmt.Println(fullName)
fmt.Println(age)
}
1 được bọc trong một mảng. Một cách tốt hơn và biểu cảm hơn để thực hiện điều này với việc phá hủy trong JavaScript sẽ giống như

function getPersonalData() {
const fullName = 'John Doe';
const age = 24;

return [fullName, age];
}

const [fullName, age] = getPersonalData();
console.log(`${fullName} is ${age} years old.`);

Nếu bạn nhận thấy dấu ngoặc vuông

package main

import "fmt"

func getPersonalData() (string, int) {
return "John Doe", 24
}

func main() {
fullName, age := getPersonalData()
fmt.Println(fullName)
fmt.Println(age)
}
2, đó là phần phá hủy giúp đặt tên các giá trị trên chỉ mục thứ nhất và thứ hai của mảng có thể. Vì vậy, trong đoạn mã trên, giá trị trên chỉ mục đầu tiên được đặt tên là
package main

import "fmt"

func getPersonalData() (string, int) {
return "John Doe", 24
}

func main() {
fullName, age := getPersonalData()
fmt.Println(fullName)
fmt.Println(age)
}
3 và giá trị trong chỉ mục thứ hai được đặt tên là
package main

import "fmt"

func getPersonalData() (string, int) {
return "John Doe", 24
}

func main() {
fullName, age := getPersonalData()
fmt.Println(fullName)
fmt.Println(age)
}
4. Hai biến được xác định rõ ràng này giúp bạn dễ dàng hiểu được nhiều giá trị do hàm
package main

import "fmt"

func getPersonalData() (string, int) {
return "John Doe", 24
}

func main() {
fullName, age := getPersonalData()
fmt.Println(fullName)
fmt.Println(age)
}
1 trả về

Nếu bạn muốn nhận các giá trị duy nhất từ ​​một mảng, bạn có thể thử bộ JavaScript. Trong quá trình này, bạn cũng có thể tìm hiểu về các hàm mảng JavaScript khác như bản đồ, bộ lọc và tìm. Phần tiếp theo sẽ bao gồm kết quả tương tự với một đối tượng để trả về nhiều giá trị từ một hàm

Trả về nhiều giá trị bằng cách sử dụng một đối tượng

Một cách dễ dàng và tự nhiên khác trong JavaScript để trả về nhiều giá trị từ một hàm là sử dụng một Đối tượng. Bạn có thể trả về tên đầy đủ và tuổi của một người từ hàm bằng cách đóng gói các giá trị dưới dạng thuộc tính của một đối tượng. Dưới đây là hai ví dụ mã có và không có phá hủy

function getPersonalData() {
const fullName = 'John Doe';
const age = 24;

return {fullName, age};
}

const person = getPersonalData();
console.log(`${person.fullName} is ${person.age} years old.`);

Bạn có thể thấy ở trên tên đầy đủ và tuổi của

package main

import "fmt"

func getPersonalData() (string, int) {
return "John Doe", 24
}

func main() {
fullName, age := getPersonalData()
fmt.Println(fullName)
fmt.Println(age)
}
6 đã được đóng gói dưới dạng thuộc tính của một đối tượng. Điều này cho phép mã trả về hai giá trị từ hàm. Theo cách tiếp cận này, thậm chí trả về nhiều hơn hai giá trị từ một hàm trong JavaScript sẽ dễ dàng đạt được

Mã tương tự sử dụng sức mạnh hủy diệt để làm cho nó hùng hồn hơn và dễ hiểu hơn như sau

function getPersonalData() {
const fullName = 'John Doe';
const age = 24;

return {fullName, age};
}

const {fullName, age } = getPersonalDataObj();
console.log(`${fullName} is ${age} years old.`);

Tương tự như trên,

package main

import "fmt"

func getPersonalData() (string, int) {
return "John Doe", 24
}

func main() {
fullName, age := getPersonalData()
fmt.Println(fullName)
fmt.Println(age)
}
7 được sử dụng để hủy cấu trúc đối tượng trong ví dụ này. Ở đây, các tên biến khớp với thuộc tính của đối tượng giúp dễ hiểu hơn

Bạn có thể xem tất cả các ví dụ mã trong kho lưu trữ GitHub này. Để thuận tiện cho bạn, bạn cũng có thể nhanh chóng tìm hiểu các ví dụ về mã trên JsFiddle

Mã trên JsFiddle

Dưới đây là ví dụ mã đang chạy của Js fiddle, hãy đảm bảo xem bảng điều khiển trên trình duyệt của bạn để xem đầu ra của mã ví dụ khi bạn chuyển sang tab kết quả

Phần kết luận

Theo hướng dẫn nhanh này, bạn đã học được hai cách khác nhau để trả về nhiều giá trị từ một hàm trong JavaScript. Cái đầu tiên là với một mảng và cái còn lại là sử dụng một đối tượng. Tôi hy vọng nó đã giải quyết được vấn đề cho bạn, hãy tiếp tục học JavaScript

Làm cách nào tôi có thể lưu trữ nhiều giá trị trong JavaScript?

Với các biến mảng JavaScript, chúng ta có thể lưu trữ nhiều phần dữ liệu ở một nơi. Bạn bắt đầu khai báo mảng bằng dấu ngoặc vuông mở, kết thúc bằng dấu ngoặc vuông đóng và đặt dấu phẩy giữa mỗi mục nhập , như thế này. var sandwich = ["bơ đậu phộng", "thạch", "bánh mì"].

Làm cách nào để tạo đối tượng nhiều giá trị trong JavaScript?

Làm cách nào để tạo nhiều đối tượng trong JavaScript? .
Sử dụng mảng. nguyên mẫu. giảm () kết hợp với Đối tượng. keys() để lặp lại tất cả các đối tượng và khóa
Sử dụng đối tượng. nguyên mẫu. hasOwnProperty() và Mảng. nguyên mẫu. concat() để nối các giá trị cho các khóa hiện có trong nhiều đối tượng

Làm cách nào để lưu trữ nhiều giá trị trong đối tượng JSON?

Mảng JSON có thể lưu trữ nhiều giá trị. Nó có thể lưu trữ chuỗi, số, boolean hoặc đối tượng trong mảng JSON. Trong mảng JSON, các giá trị phải được phân tách bằng dấu phẩy . [ (dấu ngoặc vuông) đại diện cho mảng JSON.

Một đối tượng có thể có nhiều giá trị không?

Không thể trả về nhiều giá trị từ một hàm trong JavaScript nhưng có thể lưu trữ nhiều giá trị trong một mảng hoặc trong một đối tượng và sau đó có thể trả về mảng hoặc đối tượng đó.