ARRAYS TOÀN TẬP TRONG RUBY (part1: tạo, thêm, xóa các phần tử trong mảng)
Bài đăng này đã không được cập nhật trong 5 năm
Các cách tạo mảng (array)
- Tạo trực tiếp (literal constructor )
arr = [1, "two", 3.0]
- Tạo qua đối tượng Array.new với 0, 1 hoặc 2 đối số truyền vào:
arr = Array.new
sẽ tạo ra một mảng rỗng: []
arr = Array.new(3)
sẽ tạo ra một mảng có 3 phần tử có giá trị là nil: [nil, nil, nil], dùngprint arr
để xem nhé, nếu dùngputs arr
thì sẽ được mảng trống cách nhau 3 phần tử.
arr = Array.new(3, "abcxyz")
sẽ tạo ra một mảng 3 phần tử: ["abcxyz", "abcxyz", "abcxyz"]
=> Tạo mảng 2 chiều: arr = Array.new(3){Array.new(3)}
sẽ tạo ra một mảng 2 chiều 3x3
Truy cập phần tử trong mảng
arr = [1,2,3,4,5,6]
arr[2] #=> 3
arr[100] #=> nil
arr[-3] #=> 4
arr[2, 3] #=> [3, 4, 5]
arr[1..4] #=> [2, 3, 4, 5]
arr[1..-3] #=> [2, 3, 4]
Method arr.at(0)
tương đương với arr[0]
đều cho ra kết quả là 1.
Một số phương thức đặc biệt khác:
arr.frist #=>1
arr.last #=>6
arr.take(3) #=> [1,2,3]
- lấy 3 phần tử đầu tiên.
arr.drop(3) #=>[4,5,6]
- trả về mảng sau khi xóa 3 phần tử đầu tiên.
Lấy thông tin của mảng
browsers = ['Chrome', 'Firefox', 'Safari', 'Opera', 'IE']
- Kiểm tra số phần tử của mảng:
browsers.length #=> 5
browsers.count #=> 5
browsers.size #=>5
- Kiểm tra mảng có rỗng không?
browsers.empty? #=>flase
- Kiểm tra xem trong mảng có tồn tại phần tử này không?
browser.include?('IE') #=>true
Thêm phần tử vào mảng
arr = [1, 2, 3, 4]
arr.push(5) #=> [1, 2, 3, 4, 5]
arr << 6 #=> [1, 2, 3, 4, 5, 6]
arr.unshift(0) #=> [0, 1, 2, 3, 4, 5, 6]
- Thêm vào đầu mảng.
arr.insert(3, 'apple') #=> [0, 1, 2, 'apple', 3, 4, 5, 6]
- Thêm vào vị trí bất kỳ.
arr.insert(3, 'orange', 'pear', 'grapefruit') #=> [0, 1, 2, "orange", "pear", "grapefruit", "apple", 3, 4, 5, 6]
-Thêm nhiều phần tử một lúc.
Xóa phần tử trong mảng
Cho mảng arr = [1, 2, 3, 4, 5, 6]
Lấy phần tử cuối cùng ra khỏi mảng
arr.pop #=> 6
arr #=> [1, 2, 3, 4, 5]
Lấy phần tử đầu tiên ra khỏi mảng
arr.shift #=> 1
arr #=> [2, 3, 4, 5]
Xóa phần tử tại chỉ mục cụ thể
arr.delete_at(2) #=> 4
arr #=> [2, 3, 5]
Để xóa 1 phần tử xuất hiện ở bất kỳ đâu trong mảng
Cho mảng mới A = [1,2,2,4,2,2]
arr.delete_at(2) #=> 4
arr #=> [2, 3, 5]
Để xóa các giá trị nil tồn tại trong mảng
arr.compact #=> ['foo', 0, 'bar', 7, 'baz']
arr #=> ['foo', 0, nil, 'bar', 7, 'baz', nil]
arr.compact! #=> ['foo', 0, 'bar', 7, 'baz']
arr #=> ['foo', 0, 'bar', 7, 'baz']
Xóa bỏ sự trùng lặp trong mảng
arr.uniq #=> [2, 5, 6, 556, 8, 9, 0, 123]
All rights reserved