aboutsummaryrefslogtreecommitdiff
path: root/files/vi/web/javascript/reference/global_objects/array/push/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/vi/web/javascript/reference/global_objects/array/push/index.html')
-rw-r--r--files/vi/web/javascript/reference/global_objects/array/push/index.html136
1 files changed, 0 insertions, 136 deletions
diff --git a/files/vi/web/javascript/reference/global_objects/array/push/index.html b/files/vi/web/javascript/reference/global_objects/array/push/index.html
deleted file mode 100644
index 2b3e6cca4d..0000000000
--- a/files/vi/web/javascript/reference/global_objects/array/push/index.html
+++ /dev/null
@@ -1,136 +0,0 @@
----
-title: Array.prototype.push()
-slug: Web/JavaScript/Reference/Global_Objects/Array/push
-translation_of: Web/JavaScript/Reference/Global_Objects/Array/push
----
-<div>{{JSRef}}</div>
-
-<p>Phương thức <code><strong>push()</strong></code> giúp thêm 1 hay nhiều  phần tử vào cuối mảng và trả về chiều dài mới của mảng.</p>
-
-<div>{{EmbedInteractiveExample("pages/js/array-push.html")}}</div>
-
-
-
-<h2 id="Cú_pháp">Cú pháp</h2>
-
-<pre class="syntaxbox"><var>arr</var>.push(<var>element1</var>[, ...[, <var>elementN</var>]])</pre>
-
-<h3 id="Tham_số">Tham số</h3>
-
-<dl>
- <dt><code>element<em>N</em></code></dt>
- <dd>Các phần tử sẽ thêm vào cuối mảng.</dd>
-</dl>
-
-<h3 id="Giá_trị_trả_về">Giá trị trả về</h3>
-
-<p>Giá trị mới của thuộc tính {{jsxref("Array.length", "length")}} của mảng mà phương thức được gọi thực thi.</p>
-
-<h2 id="Mô_tả">Mô tả</h2>
-
-<p>Phương thức <code>push</code> giúp thêm các giá trị vào mảng.</p>
-
-<p><code>push</code> là "intentionally generic". Phương thức này có thể được dùng với {{jsxref("Function.call", "call()")}} hoặc {{jsxref("Function.apply", "apply()")}} trên các đối tượng giống với mảng. Phương thức <code>push</code> phụ thuộc vào thuộc tính <code>length</code> để xác định vị trí bắt đầu thêm các giá trị mới. Nếu thuộc tính <code>length</code> không thể  convert thành số, vị trí bắt đầu sẽ là 0. Điều này cũng bao gồm cả trường hợp thuộc tính <code>length</code> không tồn tại, khi đó <code>length</code> sẽ được tạo.</p>
-
-<p>Các đối tượng tương tự mảng (array-like) như {{jsxref("Global_Objects/String", "strings", "", 1)}}, không thích hợp để áp dụng phương thức này, vì các chuỗi là bất biến.</p>
-
-<h2 id="Ví_dụ">Ví dụ</h2>
-
-<h3 id="Thêm_phần_tử_vào_mảng">Thêm phần tử vào mảng</h3>
-
-<p>Đoạn mã dưới đây tạo mảng <code>sports</code> gồm 2 phần tử, sau đó sẽ thêm 2 phần tử vào cuối mảng này. Biến <code>total</code> có giá trị là chiều dài mới của mảng.</p>
-
-<pre class="brush: js">var sports = ['soccer', 'baseball'];
-var total = sports.push('football', 'swimming');
-
-console.log(sports); // ['soccer', 'baseball', 'football', 'swimming']
-console.log(total); // 4
-</pre>
-
-<h3 id="Merge_2_mảng">Merge 2 mảng</h3>
-
-<p>Ví dụ này sẽ sử dụng {{jsxref("Function.apply", "apply()")}} để thêm tất cả các phần tử từ mảng thứ 2 vào mảng đầu.</p>
-
-<p><em>Không</em> sử dụng phương thức này nếu mảng thứ 2 (trong ví dụ này là <code>moreVegs</code>) quá lớn, vì số lượng tối đa các tham số mà 1  hàm có thể nhận là giới hạn. Xem thêm chi tiết {{jsxref("Function.apply", "apply()")}}.</p>
-
-<pre class="brush: js">var vegetables = ['parsnip', 'potato'];
-var moreVegs = ['celery', 'beetroot'];
-
-// Merge the second array into the first one
-// Equivalent to vegetables.push('celery', 'beetroot');
-Array.prototype.push.apply(vegetables, moreVegs);
-
-console.log(vegetables); // ['parsnip', 'potato', 'celery', 'beetroot']
-</pre>
-
-<h3 id="Sử_dụng_một_đối_tượng_theo_kiểu_tương_tự_mảng">Sử dụng một đối tượng theo kiểu tương tự mảng</h3>
-
-<p>Như đã để cập ở trên, <code>push</code> là "intentionally generic", và chúng ta có thể lợi dụng điều đó. <code>Array.prototype.push</code> có thể được thực thi trên 1 đối tượng, như ví dụ dưới đây. Chú ý rằng chúng ta không tạo mảng để lưu trữ các đối tượng. Mà thay vào đó chúng ta lưu trữ trên chính bản thân đối tượng bằng cách sử dụng <code>call</code> trên <code>Array.prototype.push</code> để áp dụng phương thức như là đang thao tác với mảng, việc này có thể thực hiện được chính là nhờ cái cách mà JavaScript cho phép chúng ta thiết lập ngữ cảnh thực thi.</p>
-
-<pre class="brush: js">var obj = {
- length: 0,
-
- addElem: function addElem(elem) {
- // obj.length is automatically incremented
- // every time an element is added.
- [].push.call(this, elem);
- }
-};
-
-// Let's add some empty objects just to illustrate.
-obj.addElem({});
-obj.addElem({});
-console.log(obj.length);
-// → 2
-</pre>
-
-<p>Chú ý rằng <code>obj</code> không phải là mảng, phương thức <code>push</code> vẫn tăng giá trị thuộc tính <code>length</code> của <code>obj</code> như khi chúng ta thao tác với 1 mảng thực sự.</p>
-
-<h2 id="Đặc_tả">Đặc tả</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Đặc tả</th>
- <th scope="col">Trạng thái</th>
- <th scope="col">Ghi chú</th>
- </tr>
- <tr>
- <td>{{SpecName('ES3')}}</td>
- <td>{{Spec2('ES3')}}</td>
- <td>Định nghĩa lần đầu. Hiện thực trong JavaScript 1.2.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.4.4.7', 'Array.prototype.push')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-array.prototype.push', 'Array.prototype.push')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td> </td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-array.prototype.push', 'Array.prototype.push')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Tương_thích_trình_duyệt">Tương thích trình duyệt</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Array.push")}}</p>
-</div>
-
-<h2 id="Xem_thêm">Xem thêm</h2>
-
-<ul>
- <li>{{jsxref("Array.prototype.pop()")}}</li>
- <li>{{jsxref("Array.prototype.shift()")}}</li>
- <li>{{jsxref("Array.prototype.unshift()")}}</li>
- <li>{{jsxref("Array.prototype.concat()")}}</li>
-</ul>