Thêm giá trị khóa vào javascript mảng trống

Nếu bạn có một danh sách các mục (ví dụ: danh sách tên ô tô), việc lưu trữ ô tô trong các biến đơn lẻ có thể trông như thế này

hãy để xe1 = "Saab";
cho car2 = "Volvo";
cho xe3 = "BMW";

Tuy nhiên, nếu bạn muốn đi vòng qua các ô tô và tìm một ô tô cụ thể thì sao?

Giải pháp là một mảng

Một mảng có thể chứa nhiều giá trị dưới một tên duy nhất và bạn có thể truy cập các giá trị bằng cách tham chiếu đến một số chỉ mục


Tạo một mảng

Sử dụng một mảng chữ là cách dễ nhất để tạo một mảng JavaScript

cú pháp

const tên_mảng = [mục1,mục2,. ];

Một thực tế phổ biến là khai báo mảng với từ khóa const

Tìm hiểu thêm về const với mảng trong chương. Mảng JS Const

Dấu cách và ngắt dòng không quan trọng. Một khai báo có thể trải rộng trên nhiều dòng

Bạn cũng có thể tạo một mảng rồi cung cấp các phần tử

Ví dụ

const xe = [];
xe ô tô[0]= "Saab";
xe[1]= "Volvo";
ô tô[2]= "BMW";

Tự mình thử »


Sử dụng Từ khóa JavaScript mới

Ví dụ sau cũng tạo một Array và gán giá trị cho nó

Hai ví dụ trên làm hoàn toàn giống nhau

Không cần sử dụng new Array()

Để đơn giản, dễ đọc và tốc độ thực thi, hãy sử dụng phương thức ký tự mảng



Truy cập các phần tử mảng

Bạn truy cập một phần tử mảng bằng cách tham khảo số chỉ mục

Ghi chú. Chỉ mục mảng bắt đầu bằng 0

[0] là phần tử đầu tiên. [1] là phần tử thứ hai


Thay đổi một phần tử mảng

Câu lệnh này thay đổi giá trị của phần tử đầu tiên trong cars


Truy cập toàn bộ mảng

Với JavaScript, toàn bộ mảng có thể được truy cập bằng cách tham khảo tên mảng

Ví dụ

const xe = ["Saab", "Volvo", "BMW"];
tài liệu. getElementById("bản trình diễn"). InternalHTML = ô tô;

Tự mình thử »


Mảng là đối tượng

Mảng là một loại đối tượng đặc biệt. Toán tử typeof trong JavaScript trả về "đối tượng" cho mảng

Tuy nhiên, mảng JavaScript được mô tả tốt nhất là mảng

Mảng sử dụng số để truy cập "phần tử" của nó. Trong ví dụ này, person[0] trả về John

Các đối tượng sử dụng tên để truy cập "thành viên" của nó. Trong ví dụ này, person.firstName trả về John


Các phần tử mảng có thể là đối tượng

Biến JavaScript có thể là đối tượng. Mảng là loại đối tượng đặc biệt

Do đó, bạn có thể có các biến thuộc các loại khác nhau trong cùng một Mảng

Bạn có thể có các đối tượng trong một Mảng. Bạn có thể có các chức năng trong một Mảng. Bạn có thể có các mảng trong một Mảng

Swift cung cấp ba loại bộ sưu tập chính, được gọi là mảng, bộ và từ điển, để lưu trữ bộ sưu tập giá trị. Mảng là tập hợp các giá trị có thứ tự. Bộ là bộ sưu tập không có thứ tự của các giá trị duy nhất. Từ điển là bộ sưu tập không có thứ tự của các liên kết khóa-giá trị

Thêm giá trị khóa vào javascript mảng trống

Mảng, bộ và từ điển trong Swift luôn rõ ràng về các loại giá trị và khóa mà chúng có thể lưu trữ. Điều này có nghĩa là bạn không thể chèn sai loại giá trị vào bộ sưu tập do nhầm lẫn. Điều đó cũng có nghĩa là bạn có thể tự tin về loại giá trị mà bạn sẽ truy xuất từ ​​bộ sưu tập

Ghi chú

Các kiểu mảng, tập hợp và từ điển của Swift được triển khai dưới dạng các tập hợp chung. Để biết thêm về các loại và tập hợp chung, hãy xem Thuộc loại chung .

Khả năng thay đổi của Bộ sưu tập

Nếu bạn tạo một mảng, một tập hợp hoặc một từ điển và gán nó cho một biến, thì tập hợp được tạo sẽ có thể thay đổi được. Điều này có nghĩa là bạn có thể thay đổi (hoặc thay đổi) bộ sưu tập sau khi nó được tạo bằng cách thêm, xóa hoặc thay đổi các mục trong bộ sưu tập. Nếu bạn gán một mảng, một tập hợp hoặc một từ điển cho một hằng số, thì tập hợp đó là bất biến và không thể thay đổi kích thước cũng như nội dung của nó

Ghi chú

Đó là cách tốt để tạo các bộ sưu tập không thay đổi trong mọi trường hợp mà bộ sưu tập không cần thay đổi. Làm như vậy giúp bạn dễ dàng suy luận về mã của mình hơn và cho phép trình biên dịch Swift tối ưu hóa hiệu suất của các bộ sưu tập bạn tạo

Mảng

Một mảng lưu trữ các giá trị cùng loại trong một danh sách có thứ tự. Cùng một giá trị có thể xuất hiện nhiều lần trong một mảng ở các vị trí khác nhau

Ghi chú

Loại Array của Swift được kết nối với lớp NSArray của Foundation

Để biết thêm thông tin về cách sử dụng Array với Foundation và Cocoa, xem

Kiểu mảng Cú pháp viết tắt

Loại mảng Swift được viết đầy đủ là Array, trong đó Element là loại giá trị mà mảng được phép lưu trữ. Bạn cũng có thể viết kiểu của một mảng ở dạng viết tắt là [Element]. Mặc dù hai dạng này giống hệt nhau về mặt chức năng, nhưng dạng tốc ký được ưa thích hơn và được sử dụng xuyên suốt hướng dẫn này khi đề cập đến kiểu của một mảng

Tạo một mảng trống

Bạn có thể tạo một mảng trống của một loại nhất định bằng cách sử dụng cú pháp khởi tạo

  1. var someInts . [ Int ] = []
  2. print ( "someInts thuộc loại [Int] với \ (someInts.đếm) mục. " )
  3. // In "someInts thuộc loại [Int] với 0 mục. "

Lưu ý rằng loại của biến someInts được suy ra là [Int] từ loại của trình khởi tạo

Ngoài ra, nếu ngữ cảnh đã cung cấp thông tin loại, chẳng hạn như đối số hàm hoặc biến hoặc hằng số đã được nhập, bạn có thể tạo một mảng trống với một ký tự mảng trống, được viết là [] (một cặp dấu ngoặc vuông trống)

  1. someInts . chắp thêm ( 3 )
  2. // someInts bây giờ chứa 1 giá trị kiểu Int
  3. someInts = []
  4. // someInts bây giờ là một mảng rỗng, nhưng vẫn thuộc kiểu [Int]

Tạo một mảng với giá trị mặc định

Loại Array của Swift cũng cung cấp một trình khởi tạo để tạo một mảng có kích thước nhất định với tất cả các giá trị của nó được đặt thành cùng một giá trị mặc định. Bạn truyền cho trình khởi tạo này một giá trị mặc định thuộc loại thích hợp (được gọi là NSArray0). và số lần giá trị đó được lặp lại trong mảng mới (được gọi là NSArray1)

  1. var threeDoubles = Mảng ( repeating: 0. 0 , đếm . 3 )
  2. // threeDoubles thuộc loại [Double] và bằng [0. 0, 0. 0, 0. 0]

Tạo một mảng bằng cách thêm hai mảng lại với nhau

Bạn có thể tạo một mảng mới bằng cách cộng hai mảng hiện có với các loại tương thích với nhau bằng toán tử cộng (NSArray2). Kiểu của mảng mới được suy ra từ kiểu của hai mảng bạn cộng lại với nhau

  1. var anotherThreeDoubles = Mảng ( repeating: 2. 5 , đếm . 3 )
  2. // otherThreeDoubles thuộc loại [Double] và bằng [2. 5, 2. 5, 2. 5]
  3. var sáu đôi = ba đôi + anotherThreeDoubles
  4. // sixDoubles được suy ra là [Double], và bằng [0. 0, 0. 0, 0. 0, 2. 5, 2. 5, 2. 5]

Creating an Array with an Array Literal

Bạn cũng có thể khởi tạo một mảng bằng một ký tự mảng, đây là cách viết tắt để viết một hoặc nhiều giá trị dưới dạng tập hợp mảng. Một mảng chữ được viết dưới dạng một danh sách các giá trị, được phân tách bằng dấu phẩy, được bao quanh bởi một cặp dấu ngoặc vuông

  1. [ giá trị 1 , giá trị 2 , value 3]

Ví dụ dưới đây tạo một mảng có tên là NSArray3 để lưu trữ các giá trị NSArray4

  1. var Danh sách mua sắm . [ String ] = [ "Eggs" , "Milk" ]
  2. // shoppingList has been initialized with two initial items

The NSArray3 variable is declared as “an array of string values”, written as NSArray6. Because this particular array has specified a value type of NSArray4, it’s allowed to store NSArray4 values only. Here, the NSArray3 array is initialized with two NSArray4 values (Array1 and Array2), written within an array literal

Ghi chú

The NSArray3 array is declared as a variable (with the Array4 introducer) and not a constant (with the Array5 introducer) because more items are added to the shopping list in the examples below

In this case, the array literal contains two NSArray4 values and nothing else. This matches the type of the NSArray3 variable’s declaration (an array that can only contain NSArray4 values), and so the assignment of the array literal is permitted as a way to initialize NSArray3 with two initial items

Thanks to Swift’s type inference, you don’t have to write the type of the array if you’re initializing it with an array literal containing values of the same type. The initialization of NSArray3 could have been written in a shorter form instead

  1. var shoppingList = [ "Eggs" , "Milk" ]

Because all values in the array literal are of the same type, Swift can infer that NSArray6 is the correct type to use for the NSArray3 variable

Accessing and Modifying an Array

You access and modify an array through its methods and properties, or by using subscript syntax

To find out the number of items in an array, check its read-only NSArray1 property

  1. print ( "The shopping list contains \ (shoppingList . count) items. " )
  2. // Prints "The shopping list contains 2 items. "

Use the Boolean Array4 property as a shortcut for checking whether the NSArray1 property is equal to Array6

  1. if shoppingList . isEmpty {
  2. print ( "The shopping list is empty. " )
  3. } else {
  4. print ( "The shopping list isn't empty. " )
  5. }
  6. // Prints "The shopping list isn't empty. "

You can add a new item to the end of an array by calling the array’s Array7 method

  1. shoppingList . append ( "Flour" )
  2. // shoppingList now contains 3 items, and someone is making pancakes

Alternatively, append an array of one or more compatible items with the addition assignment operator (Array8)

  1. shoppingList += [ "Baking Powder" ]
  2. // shoppingList now contains 4 items
  3. shoppingList += [ "Chocolate Spread" , "Cheese" , "Butter" ]
  4. // shoppingList now contains 7 items

Retrieve a value from the array by using subscript syntax, passing the index of the value you want to retrieve within square brackets immediately after the name of the array

  1. var firstItem = shoppingList [ 0 ]
  2. // firstItem is equal to "Eggs"

Ghi chú

The first item in the array has an index of Array6, not Element0. Arrays in Swift are always zero-indexed

You can use subscript syntax to change an existing value at a given index

  1. shoppingList [ 0 ] = "Six eggs"
  2. // the first item in the list is now equal to "Six eggs" rather than "Eggs"

When you use subscript syntax, the index you specify needs to be valid. For example, writing Element1 to try to append an item to the end of the array results in a runtime error

You can also use subscript syntax to change a range of values at once, even if the replacement set of values has a different length than the range you are replacing. The following example replaces Element2, Element3, and Element4 with Element5 and Element6

  1. shoppingList [ 4 . 6 ] = [ "Bananas" , "Apples" ]
  2. // shoppingList now contains 6 items

To insert an item into the array at a specified index, call the array’s Element7 method

  1. shoppingList . insert ( "Maple Syrup" , at . 0 )
  2. // shoppingList now contains 7 items
  3. // "Maple Syrup" is now the first item in the list

This call to the Element7 method inserts a new item with a value of Element9 at the very beginning of the shopping list, indicated by an index of Array6

Similarly, you remove an item from the array with the [Element]1 method. This method removes the item at the specified index and returns the removed item (although you can ignore the returned value if you don’t need it)

  1. let mapleSyrup = shoppingList . remove ( at . 0 )
  2. // the item that was at index 0 has just been removed
  3. // shoppingList now contains 6 items, and no Maple Syrup
  4. // the mapleSyrup constant is now equal to the removed "Maple Syrup" string

Ghi chú

If you try to access or modify a value for an index that’s outside of an array’s existing bounds, you will trigger a runtime error. You can check that an index is valid before using it by comparing it to the array’s NSArray1 property. The largest valid index in an array is [Element]3 because arrays are indexed from zero—however, when NSArray1 is Array6 (meaning the array is empty), there are no valid indexes

Any gaps in an array are closed when an item is removed, and so the value at index Array6 is once again equal to [Element]7

  1. firstItem = shoppingList [ 0 ]
  2. // firstItem is now equal to "Six eggs"

If you want to remove the final item from an array, use the [Element]8 method rather than the [Element]1 method to avoid the need to query the array’s NSArray1 property. Like the [Element]1 method, [Element]8 returns the removed item

  1. let apples = shoppingList . removeLast ()
  2. // the last item in the array has just been removed
  3. // shoppingList now contains 5 items, and no apples
  4. // the apples constant is now equal to the removed "Apples" string

Iterating Over an Array

You can iterate over the entire set of values in an array with the someInts3-someInts4 loop

  1. for item in shoppingList {
  2. print ( item )
  3. }
  4. // Six eggs
  5. // Milk
  6. // Flour
  7. // Baking Powder
  8. // Bananas

If you need the integer index of each item as well as its value, use the someInts5 method to iterate over the array instead. For each item in the array, the someInts5 method returns a tuple composed of an integer and the item. The integers start at zero and count up by one for each item; if you enumerate over a whole array, these integers match the items’ indices. You can decompose the tuple into temporary constants or variables as part of the iteration

  1. for ( index , value ) in shoppingList . enumerated () {
  2. print ( "Item \ (index + 1). \ (value)" )
  3. }
  4. // Item 1. Six eggs
  5. // Item 2. Milk
  6. // Item 3. Flour
  7. // Item 4. Baking Powder
  8. // Item 5. Bananas

For more about the someInts3-someInts4 loop, see

Sets

A set stores distinct values of the same type in a collection with no defined ordering. You can use a set instead of an array when the order of items isn’t important, or when you need to ensure that an item only appears once

Ghi chú

Swift’s someInts9 type is bridged to Foundation’s [Int]0 class

For more information about using someInts9 with Foundation and Cocoa, see

Hash Values for Set Types

A type must be hashable in order to be stored in a set—that is, the type must provide a way to compute a hash value for itself. A hash value is an [Int]2 value that’s the same for all objects that compare equally, such that if [Int]3, the hash value of [Int]4 is equal to the hash value of [Int]5

All of Swift’s basic types (such as NSArray4, [Int]2, [Int]8, and [Int]9) are hashable by default, and can be used as set value types or dictionary key types. Enumeration case values without associated values (as described in Enumerations ) are also hashable by default.

Ghi chú

You can use your own custom types as set value types or dictionary key types by making them conform to the []0 protocol from the Swift standard library. For information about implementing the required []1 method, see []0. For information about conforming to protocols, see Protocols .

Set Type Syntax

The type of a Swift set is written as []3, where Element is the type that the set is allowed to store. Unlike arrays, sets don’t have an equivalent shorthand form

Creating and Initializing an Empty Set

You can create an empty set of a certain type using initializer syntax

  1. var letters = Set < Character >()
  2. print ( "letters is of type Set \ (letters . đếm) mục. " )
  3. // Prints "letters is of type Set with 0 items."

Ghi chú

The type of the []5 variable is inferred to be []6, from the type of the initializer

Ngoài ra, nếu ngữ cảnh đã cung cấp thông tin về loại, chẳng hạn như đối số hàm hoặc biến hoặc hằng đã được nhập, bạn có thể tạo tập hợp trống với ký tự mảng trống

  1. letters . insert ( "a" )
  2. // letters now contains 1 value of type Character
  3. letters = []
  4. // letters is now an empty set, but is still of type Set

Creating a Set with an Array Literal

Bạn cũng có thể khởi tạo một tập hợp với một ký tự mảng, như một cách viết tắt để viết một hoặc nhiều giá trị dưới dạng tập hợp tập hợp

Ví dụ dưới đây tạo một tập hợp có tên là []7 để lưu trữ các giá trị NSArray4

  1. var Thể loại yêu thích . Bộ < Chuỗi > = [ "Rock", "Classical", "Hip hop"]
  2. // favouriteGenres đã được khởi tạo với ba mục ban đầu

Biến []7 được khai báo là “tập hợp các giá trị NSArray4”, được viết là Array1. Bởi vì bộ cụ thể này đã chỉ định một loại giá trị là NSArray4, nên nó chỉ được phép lưu trữ các giá trị NSArray4. Ở đây, bộ []7 được khởi tạo với ba giá trị NSArray4 (Array6, Array7 và Array8), được viết trong một mảng chữ

Ghi chú

Tập hợp []7 được khai báo là một biến (với phần giới thiệu Array4) và không phải là hằng số (với phần giới thiệu Array5) vì các phần tử được thêm và bớt trong các ví dụ bên dưới

Một loại tập hợp không thể được suy ra từ một mảng chữ, vì vậy loại someInts9 phải được khai báo rõ ràng. Tuy nhiên, do suy luận kiểu của Swift, bạn không cần phải viết kiểu của các phần tử của tập hợp nếu bạn đang khởi tạo nó bằng một mảng chữ chứa các giá trị của chỉ một kiểu. Thay vào đó, phần khởi tạo của []7 có thể được viết dưới dạng ngắn hơn

  1. var Thể loại yêu thích . Đặt = [ "Đá" , "Classical", "Hip hop"]

Bởi vì tất cả các giá trị trong mảng ký tự đều cùng loại, Swift có thể suy ra rằng ___5_______1 là loại chính xác để sử dụng cho biến _______13_______7

Truy cập và sửa đổi một tập hợp

Bạn truy cập và sửa đổi một tập hợp thông qua các phương thức và thuộc tính của nó

Để biết số lượng mục trong một tập hợp, hãy kiểm tra thuộc tính chỉ đọc ____________1 của nó

  1. in ( "Tôi có \ (favoriteGenres.đếm) thể loại nhạc yêu thích. " )
  2. // In ra "Tôi có 3 thể loại nhạc yêu thích. "

Use the Boolean Array4 property as a shortcut for checking whether the NSArray1 property is equal to Array6

  1. if Thể loại yêu thích . isEmpty {
  2. print ( "Về âm nhạc, tôi không kén chọn. " )
  3. } else {
  4. in ( "Tôi có sở thích âm nhạc cụ thể. " )
  5. }
  6. // In ra "Tôi có sở thích âm nhạc cụ thể. "

Bạn có thể thêm một mục mới vào một tập hợp bằng cách gọi phương thức NSArray10 của tập hợp

  1. Thể loại yêu thích . insert ( "Jazz" )
  2. // favouriteGenres hiện có 4 mục

Bạn có thể xóa một mục khỏi một tập hợp bằng cách gọi phương thức NSArray11 của tập hợp, phương thức này sẽ xóa mục nếu đó là thành viên của tập hợp và trả về giá trị đã xóa hoặc trả về NSArray12 nếu tập hợp không chứa nó. Ngoài ra, tất cả các mục trong một bộ có thể được xóa bằng phương pháp NSArray13 của nó

  1. nếu hãy loại bỏThể loại = Thể loại yêu thích.xóa ( "Đá" ) {
  2. in ( " \ (removedGenre)? I'm over it." )
  3. } else {
  4. print ( "Tôi chưa bao giờ quan tâm nhiều đến điều đó. " )
  5. }
  6. // In ra "Rock? I'm over it. "

Để kiểm tra xem một bộ có chứa một mục cụ thể hay không, hãy sử dụng phương thức NSArray14

  1. if Thể loại yêu thích . chứa ( "Funk" ) {
  2. print ( "Tôi đứng vững. " )
  3. } else {
  4. in ( "Ở đây vui quá. " )
  5. }
  6. // Bản in "Ở đây sôi nổi quá. "

Lặp lại một tập hợp

Bạn có thể lặp lại các giá trị trong một tập hợp với vòng lặp someInts3-someInts4

  1. dành cho thể loại trong Thể loại yêu thích {
  2. in ( " \ (genre)")
  3. }
  4. // cổ điển
  5. // Nhạc Jazz
  6. // Hiphop

For more about the someInts3-someInts4 loop, see

Loại someInts9 của Swift không có thứ tự xác định. Để lặp lại các giá trị của một tập hợp theo một thứ tự cụ thể, hãy sử dụng phương thức NSArray20, phương thức này trả về các phần tử của tập hợp dưới dạng một mảng được sắp xếp bằng toán tử NSArray21

  1. dành cho thể loại trong Thể loại yêu thích . đã sắp xếp () {
  2. in ( " \ (genre)")
  3. }
  4. // cổ điển
  5. // Hiphop
  6. // Nhạc Jazz

Thực hiện Set Operations

Bạn có thể thực hiện hiệu quả các thao tác tập hợp cơ bản, chẳng hạn như kết hợp hai tập hợp với nhau, xác định giá trị chung của hai tập hợp hoặc xác định xem hai tập hợp có chứa tất cả, một số hoặc không có giá trị nào giống nhau hay không

Hoạt động tập hợp cơ bản

Hình minh họa bên dưới mô tả hai tập hợp—[Int]4 và [Int]5—với kết quả của các phép toán tập hợp khác nhau được biểu thị bằng các vùng được tô bóng

Thêm giá trị khóa vào javascript mảng trống
  • Sử dụng phương pháp NSArray24 để tạo một tập hợp mới chỉ có các giá trị chung cho cả hai tập hợp

  • Sử dụng phương pháp NSArray25 để tạo một tập hợp mới với các giá trị trong một trong hai tập hợp, nhưng không phải cả hai

  • Sử dụng phương pháp NSArray26 để tạo một tập hợp mới với tất cả các giá trị trong cả hai tập hợp

  • Sử dụng phương pháp NSArray27 để tạo một tập hợp mới với các giá trị không có trong tập hợp đã chỉ định

  1. hãy số lẻ . Đặt = [ 1 , 3, 5, 7, 9]
  2. hãy chữ số chẵn . Đặt = [ 0 , 2, 4, 6, 8]
  3. let singleDigitPrimeNumbers . Đặt = [ 2 , 3, 5, 7]
  4. chữ số lẻ . công đoàn ( Chẵn Chữ số ). đã sắp xếp ()
  5. // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  6. chữ số lẻ . giao lộ ( chữ số chẵn ). đã sắp xếp ()
  7. // []
  8. chữ số lẻ . trừ ( singleDigitPrimeNumbers ). đã sắp xếp ()
  9. // [1, 9]
  10. chữ số lẻ . sự khác biệt đối xứng ( singleDigitPrimeNumbers ). đã sắp xếp ()
  11. // [1, 2, 9]

Đặt tư cách thành viên và bình đẳng

Hình minh họa bên dưới mô tả ba tập hợp—[Int]4, [Int]5 và NSArray30—với các vùng chồng chéo đại diện cho các phần tử được chia sẻ giữa các tập hợp. Tập hợp [Int]4 là tập hợp siêu của tập hợp [Int]5, bởi vì [Int]4 chứa tất cả các phần tử trong tập hợp [Int]5. Ngược lại, tập hợp [Int]5 là tập hợp con của tập hợp [Int]4, bởi vì tất cả các phần tử trong [Int]5 cũng được chứa bởi [Int]4. Tập hợp [Int]5 và tập hợp NSArray30 không liên quan với nhau vì chúng không có phần tử chung nào

Thêm giá trị khóa vào javascript mảng trống
  • Sử dụng toán tử “bằng nhau” (_______6_______41) để xác định xem hai tập hợp có chứa tất cả các giá trị giống nhau hay không

  • Sử dụng phương pháp NSArray42 để xác định xem tất cả các giá trị của một tập hợp có nằm trong tập hợp đã chỉ định hay không

  • Sử dụng phương pháp NSArray43 để xác định xem một tập hợp có chứa tất cả các giá trị trong một tập hợp đã chỉ định hay không

  • Sử dụng các phương pháp NSArray44 hoặc NSArray45 để xác định xem một tập hợp là tập con hay tập siêu, nhưng không bằng, một tập xác định

  • Sử dụng phương pháp NSArray46 để xác định xem hai tập hợp không có giá trị chung

  1. hãy gia súc . Đặt = [ "🐶" , "🐱"]
  2. hãy trang trạiĐộng vật . Đặt = [ "🐮" , "🐔", "🐑", "🐶", "🐱"]
  3. hãy động vật trong thành phố . Đặt = [ "🐦" , "🐭"]
  4. động vật trong nhà . isSubset ( of . động vật nông trại )
  5. // ĐÚNG VẬY
  6. trang trạiĐộng vật . isSuperset ( of . động vật trong nhà )
  7. // ĐÚNG VẬY
  8. trang trạiĐộng vật . isDisjoint ( with . động vật thành phố )
  9. // ĐÚNG VẬY

từ điển

Một từ điển lưu trữ các liên kết giữa các khóa cùng loại và các giá trị cùng loại trong một bộ sưu tập không có thứ tự xác định. Mỗi giá trị được liên kết với một khóa duy nhất, hoạt động như một mã định danh cho giá trị đó trong từ điển. Unlike items in an array, items in a dictionary don’t have a specified order. Bạn sử dụng từ điển khi cần tra cứu các giá trị dựa trên mã định danh của chúng, giống như cách mà từ điển trong thế giới thực được sử dụng để tra cứu định nghĩa cho một từ cụ thể

Ghi chú

Loại NSArray47 của Swift được kết nối với lớp NSArray48 của Foundation

Để biết thêm thông tin về cách sử dụng NSArray47 với Kem nền và Ca cao, hãy xem

Loại từ điển Cú pháp tốc ký

The type of a Swift dictionary is written in full as NSArray50, where NSArray51 is the type of value that can be used as a dictionary key, and NSArray52 is the type of value that the dictionary stores for those keys

Ghi chú

Loại từ điển NSArray51 phải tuân theo giao thức []0, giống như loại giá trị của một tập hợp

Bạn cũng có thể viết loại từ điển ở dạng tốc ký là NSArray55. Mặc dù hai dạng này giống hệt nhau về mặt chức năng, nhưng dạng tốc ký được ưa thích hơn và được sử dụng xuyên suốt hướng dẫn này khi đề cập đến loại từ điển

Tạo một từ điển trống

Như với mảng, bạn có thể tạo một NSArray47 trống của một loại nhất định bằng cách sử dụng cú pháp bộ khởi tạo

  1. var namesOfIntegers . [ Int . Chuỗi ] = [. ]
  2. // nameOfIntegers trống [Int. String] dictionary

Ví dụ này tạo một từ điển trống loại NSArray57 để lưu trữ các tên giá trị số nguyên mà con người có thể đọc được. Các khóa của nó thuộc loại [Int]2 và các giá trị của nó thuộc loại NSArray4

Nếu ngữ cảnh đã cung cấp thông tin loại, bạn có thể tạo một từ điển trống với một từ điển trống, được viết là NSArray60 (dấu hai chấm bên trong một cặp dấu ngoặc vuông)

  1. namesOfIntegers [ 16 ] = "sixteen"<
  2. // nameOfIntegers hiện chứa 1 cặp khóa-giá trị
  3. namesOfIntegers = [. ]
  4. // nameOfIntegers một lần nữa là một từ điển rỗng kiểu [Int. Sợi dây]

Tạo một từ điển với một Dictionary Literal

Bạn cũng có thể khởi tạo một từ điển với một ký tự từ điển, có cú pháp tương tự như ký tự mảng đã thấy trước đó. Nghĩa đen trong từ điển là một cách viết tắt để viết một hoặc nhiều cặp khóa-giá trị dưới dạng một bộ sưu tập NSArray47

Cặp khóa-giá trị là sự kết hợp giữa khóa và giá trị. Theo nghĩa đen của từ điển, khóa và giá trị trong mỗi cặp khóa-giá trị được phân tách bằng dấu hai chấm. The key-value pairs are written as a list, separated by commas, surrounded by a pair of square brackets

  1. [ phím 1 . giá trị 1 , phím 2 . giá trị 2 , phím 3 . giá trị 3 ]

Ví dụ dưới đây tạo một từ điển để lưu tên các sân bay quốc tế. Trong từ điển này, các khóa là mã Hiệp hội Vận tải Hàng không Quốc tế gồm ba chữ cái và các giá trị là tên sân bay

  1. var sân bay . [ Chuỗi . Chuỗi ] = [ "YYZ" . "Toronto Pearson" , "DUB" . "Dublin" ]

Từ điển NSArray62 được khai báo là có loại NSArray63, có nghĩa là “một NSArray47 có khóa thuộc loại NSArray4 và giá trị của nó cũng thuộc loại NSArray4”

Ghi chú

Từ điển NSArray62 được khai báo là một biến (với phần giới thiệu Array4) và không phải là hằng số (với phần giới thiệu Array5), bởi vì nhiều sân bay được thêm vào từ điển trong các ví dụ bên dưới

Từ điển NSArray62 được khởi tạo với một từ điển có chứa hai cặp khóa-giá trị. Cặp đầu tiên có khóa là NSArray71 và giá trị là NSArray72. Cặp thứ hai có khóa là NSArray73 và giá trị là NSArray74

Chữ từ điển này chứa hai cặp NSArray75. Loại khóa-giá trị này khớp với loại khai báo biến NSArray62 (một từ điển chỉ có các khóa NSArray4 và chỉ có các giá trị NSArray4), và do đó, việc gán nghĩa đen của từ điển được cho phép như một cách để khởi tạo từ điển NSArray62 với hai mục ban đầu

Đối với mảng, bạn không cần phải viết loại từ điển nếu bạn đang khởi tạo nó bằng một từ điển có khóa và giá trị có các loại nhất quán. Thay vào đó, phần khởi tạo của NSArray62 có thể được viết dưới dạng ngắn hơn

  1. var sân bay = [ "YYZ" . "Toronto Pearson" , "DUB" . "Dublin" ]

Vì tất cả các khóa theo nghĩa đen đều cùng loại với nhau và tương tự như vậy, tất cả các giá trị đều cùng loại với nhau, nên Swift có thể suy ra rằng NSArray63 là loại chính xác để sử dụng cho từ điển NSArray62

Truy cập và sửa đổi từ điển

Bạn truy cập và sửa đổi một từ điển thông qua các phương thức và thuộc tính của nó hoặc bằng cách sử dụng cú pháp chỉ số dưới

Cũng giống như một mảng, bạn tìm ra số lượng phần tử trong một NSArray47 bằng cách kiểm tra thuộc tính chỉ đọc NSArray1 của nó

  1. in ( "Từ điển sân bay chứa \ ( . airports.đếm) mục. " )
  2. // In ra "Từ điển sân bay có 2 mục. "

Use the Boolean Array4 property as a shortcut for checking whether the NSArray1 property is equal to Array6

  1. if sân bay . isEmpty {
  2. print ( "Từ điển sân bay trống. " )
  3. } else {
  4. in ( "Từ điển sân bay không trống. " )
  5. }
  6. // In ra "Từ điển sân bay không rỗng. "

Bạn có thể thêm một mục mới vào từ điển bằng cú pháp chỉ số dưới. Sử dụng khóa mới thuộc loại thích hợp làm chỉ mục đăng ký và gán giá trị mới thuộc loại thích hợp

  1. sân bay [ "LHR" ] = "London
  2. // từ điển sân bay hiện có 3 mục

Bạn cũng có thể sử dụng cú pháp chỉ số dưới để thay đổi giá trị được liên kết với một khóa cụ thể

  1. sân bay [ "LHR" ] = "London
  2. // giá trị của "LHR" đã được thay đổi thành "London Heathrow"

Để thay thế cho đăng ký, hãy sử dụng phương pháp NSArray88 của từ điển để đặt hoặc cập nhật giá trị cho một khóa cụ thể. Giống như các ví dụ về chỉ số bên trên, phương thức NSArray88 đặt giá trị cho khóa nếu không tồn tại hoặc cập nhật giá trị nếu khóa đó đã tồn tại. Tuy nhiên, không giống như một chỉ số con, phương thức NSArray88 trả về giá trị cũ sau khi thực hiện cập nhật. Điều này cho phép bạn kiểm tra xem bản cập nhật đã diễn ra hay chưa

Phương thức NSArray88 trả về một giá trị tùy chọn thuộc loại giá trị của từ điển. Ví dụ, đối với một từ điển lưu trữ các giá trị NSArray4, phương thức này trả về một giá trị kiểu NSArray93 hoặc “tùy chọn NSArray4”. Giá trị tùy chọn này chứa giá trị cũ cho khóa đó nếu khóa đó tồn tại trước khi cập nhật hoặc NSArray12 nếu không tồn tại giá trị

  1. if let oldValue = sân bay.updateValue ( "Sân bay Dublin" , forKey: "LỒNG" ) {
  2. in ( "Giá trị cũ của DUB là \ (oldValue)." )
  3. }
  4. // In ra "Giá trị cũ của DUB là Dublin. "

Bạn cũng có thể sử dụng cú pháp chỉ số dưới để lấy một giá trị từ từ điển cho một khóa cụ thể. Bởi vì có thể yêu cầu một khóa không tồn tại giá trị, chỉ số con của từ điển trả về một giá trị tùy chọn thuộc loại giá trị của từ điển. Nếu từ điển chứa một giá trị cho khóa được yêu cầu, thì chỉ số dưới trả về một giá trị tùy chọn chứa giá trị hiện có cho khóa đó. Mặt khác, chỉ số dưới trả về NSArray12

  1. if let airportName = sân bay["DUB"] {
  2. in ( "Tên sân bay là \ (airportName)." )
  3. } else {
  4. print ( "Sân bay đó không có trong từ điển sân bay. " )
  5. }
  6. // In ra "Tên sân bay là Sân bay Dublin. "

Bạn có thể sử dụng cú pháp chỉ số dưới để xóa cặp khóa-giá trị khỏi từ điển bằng cách gán giá trị __6_______12 cho khóa đó

  1. sân bay [ "APL" ] = "Apple
  2. // "Apple International" không phải là sân bay thực sự của APL, vì vậy hãy xóa nó
  3. sân bay [ "APL" ] = nil<
  4. // APL hiện đã bị xóa khỏi từ điển

Ngoài ra, hãy xóa cặp khóa-giá trị khỏi từ điển bằng phương pháp NSArray98. Phương thức này xóa cặp khóa-giá trị nếu nó tồn tại và trả về giá trị đã xóa hoặc trả về NSArray12 nếu không tồn tại giá trị

  1. if let removedValue = sân bay.removeValue ( forKey . "LỒNG" ) {
  2. print ( "Tên của sân bay đã xóa là \ . "removedValue)." )
  3. } else {
  4. print ( "Từ điển sân bay không chứa giá trị cho DUB. " )
  5. }
  6. // In ra "Tên sân bay bị xóa là Sân bay Dublin. "

Lặp qua từ điển

Bạn có thể lặp lại các cặp khóa-giá trị trong từ điển bằng vòng lặp someInts3-someInts4. Mỗi mục trong từ điển được trả về dưới dạng một bộ Array02 và bạn có thể phân tách các phần tử của bộ thành các hằng hoặc biến tạm thời như một phần của phép lặp

  1. cho ( Mã sân bay , Tên sân bay) in airports {
  2. in ( " \ (airportCode): \ (tên sân bay)")
  3. }
  4. // LHR. London Heathrow
  5. // YYZ. Toronto Pearson

For more about the someInts3-someInts4 loop, see

Bạn cũng có thể truy xuất bộ sưu tập có thể lặp lại các khóa hoặc giá trị của từ điển bằng cách truy cập các thuộc tính Array05 và Array06 của nó

  1. cho Mã sân bay trong sân bay . phím {
  2. in ( "Mã sân bay. \ (Mã sân bay)")
  3. }
  4. // Mã sân bay. LHR
  5. // Mã sân bay. YYZ
  6. cho tên sân bay tại các sân bay . giá trị {
  7. in ( "Tên sân bay. \ (tên sân bay)")
  8. }
  9. // Tên sân bay. London Heathrow
  10. // Tên sân bay. Toronto Pearson

Nếu bạn cần sử dụng khóa hoặc giá trị của từ điển với API lấy phiên bản Array, hãy khởi tạo một mảng mới với thuộc tính Array05 hoặc Array06

  1. let mã sân bay = [ Chuỗi ]( airports.phím )
  2. // Mã sân bay là ["LHR", "YYZ"]
  3. let airportNames = [ String ]( airports.giá trị )
  4. // tên sân bay là ["London Heathrow", "Toronto Pearson"]

Loại NSArray47 của Swift không có thứ tự xác định. Để lặp lại các khóa hoặc giá trị của một từ điển theo một thứ tự cụ thể, hãy sử dụng phương thức NSArray20 trên thuộc tính Array05 hoặc Array06 của nó

Làm cách nào để thêm khóa và giá trị vào mảng trống trong JavaScript?

concat(Array, element); Khi bạn muốn thêm một phần tử vào cuối mảng, hãy sử dụng hàm push(). Nếu bạn cần thêm một phần tử vào đầu mảng, 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, hãy sử dụng splice().

Làm cách nào tôi có thể thêm một cặp giá trị khóa vào một mảng JavaScript?

Trả lời. Sử dụng ký hiệu dấu chấm hoặc dấu ngoặc vuông . ) để thêm một cặp khóa/giá trị hoặc thuộc tính vào đối tượng JavaScript.

Làm cách nào để thêm đối tượng vào mảng trống trong JavaScript?

Có hai cách để khai báo đối tượng mảng rỗng trong JavaScript. Một là tạo một ký tự có dấu ngoặc, và hai là khởi tạo một mảng bằng phương thức khởi tạo array() mới. Đây là cách tạo một chữ có dấu ngoặc. hãy để myArray = [];

Làm cách nào để thêm phần tử vào mảng hiện có trong JavaScript?

3 cách nối thêm mục vào mảng (mutative) .
mối nối
chiều dài
concat
lây lan