Vì vậy, chúng tôi đã có một trường hợp mà chúng tôi sẽ có một đối tượng, trong đó khóa là id (int) và giá trị là chuỗi. Nhưng chúng tôi nhận thấy rằng hầu hết các trường hợp, chúng tôi tìm kiếm id dựa trên chuỗi, vì vậy chúng tôi quyết định đảo ngược nó và đặt một chuỗi thành khóa và giá trị là id. Bởi vì theo cách đó thay vì đi qua từng mục và so sánh các giá trị, chúng tôi có thể làm var id = storage[text];
. Dưới đây là những ví dụ về những gì chúng tôi đã làm.
Đây là ví dụ về cách triển khai cũ:
var storage = {
0 : null,
1 : "Hello",
2 : "world!",
3 : "How are you?"
}
Đây là ví dụ về cách triển khai mới:
var storage = {
"null" : 0,
"Hello" : 1,
"world!" : 2,
"How are you?" : 3
}
Tôi hiểu rằng bây giờ chuỗi là chìa khóa và bạn có thể lấy cùng một id cho các chuỗi giống nhau. Nhưng vì bây giờ chuỗi có thể có khả năng khá lớn (cơ hội mỏng, nhưng có thể là tối đa 1KB mỗi chuỗi), có giới hạn độ dài JS hoặc Android webview đặt trên các phím đối tượng không?
Và ngoài ra, cách triển khai này có nhược điểm gì không? Tôi đã không nhận thấy bất kỳ vấn đề cho đến nay, nhưng bạn không bao giờ biết.