Hàm Array copyWithin() trong Javascript
Trong bài này chúng ta sẽ tìm hiểu hàm array copywithin trong javascript, đây là hàm dùng để sao chép các phần tử trong mảng với vị trí bắt đầu và kết thúc việc sao chép được xác định.
Thực chất, hàm copywithin không chỉ sao chép mà nó sẽ ghi đè các phần tử nó sao chép được lên các phần tử của mảng tính từ một vị trí xác định bởi người dùng.
1. Cú pháp array.copyWithin trong Javascript
Trước tiên hãy xem lại cú pháp của hàm này đã nhé.
Cú pháp:
Bài viết này được đăng tại [free tuts .net]
array.copyWithin(target, start, end)
Trong đó:
target
là vị trí mà hàm sẽ bắt đầu ghi đè các phần tử sao chép được.start
là vị trí bắt đầu sao chép, giá trị mặc định là 0.end
là vị trí kết thúc sao chép, nếu không nhập vào thì mặc định là vị trí cuối cùng của mảng.
Tất cả các chị mục trên nếu là số âm thì nó sẽ bắt đầu đếm từ cuối chuỗi trở về đầu chuỗi.
Một vài ví dụ cho các trường hợp.
// Lặp lại phần tử từ vị trí thứ 2 cuối chuỗi. // Lấy từ phần tử bắt đầu start là 0, end là 4 [1, 2, 3, 4, 5].copyWithin(-2) // [1, 2, 3, 1, 2] // Lặp từ vị trí đầu tiên (0) // Lấy từ phần tử bắt đầu start là 3, end là 4 [1, 2, 3, 4, 5].copyWithin(0, 3) // [4, 5, 3, 4, 5] // Tương tự cho các trường hợp dưới đây. [1, 2, 3, 4, 5].copyWithin(0, 3, 4) // [4, 2, 3, 4, 5] [1, 2, 3, 4, 5].copyWithin(-2, -3, -1) // [1, 2, 3, 3, 4] [].copyWithin.call({length: 5, 3: 1}, 0, 3) // {0: 1, 3: 1, length: 5} // ES2015 Typed Arrays are subclasses of Array var i32a = new Int32Array([1, 2, 3, 4, 5]) i32a.copyWithin(0, 2) // Int32Array [3, 4, 5, 4, 5] // On platforms that are not yet ES2015 compliant: [].copyWithin.call(new Int32Array([1, 2, 3, 4, 5]), 0, 3, 4); // Int32Array [4, 2, 3, 4, 5]
2. Ví dụ hàm array.copyWithin trong javascript
Ví dụ: cách sử dụng hàm copywithin, để các bạn thấy rõ sự thay đổi, mình sẽ sử dụng giá trị các phần tử là số tương ứng với các vị trí của phần tử trong mảng.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <h1>Học lập trình miễn phí tại freetuts.net</h1> <p>Click vào button để sao chép phần từ của mảng.</p> <button onclick="myFunction()">Try it</button> <p id="demo"></p> <script> var fruits = ["0","1", "2", "3", "4"]; document.getElementById("demo").innerHTML = fruits; function myFunction() { document.getElementById("demo").innerHTML = fruits.copyWithin(2,0,2); } </script> </body> </html>