aboutsummaryrefslogtreecommitdiff
path: root/files/vi/web/javascript/reference/global_objects/array/isarray/index.html
blob: 9f344138420e5adc981ad1b54a46607a1fd3c343 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
---
title: Array.isArray()
slug: Web/JavaScript/Reference/Global_Objects/Array/isArray
tags:
  - Array
  - ECMAScript 5
  - JavaScript
  - Phương Thức
  - Tham khảo
  - polyfill
translation_of: Web/JavaScript/Reference/Global_Objects/Array/isArray
---
<div>{{JSRef}}</div>

<p><code><strong>Array.isArray()</strong></code> là một phương thức để xác định liệu giá trị truyền vào có phải là một mảng kiểu {{jsxref("Array")}}.</p>

<pre class="brush: js">Array.isArray([1, 2, 3]);  // true
Array.isArray({foo: 123}); // false
Array.isArray('foobar');   // false
Array.isArray(undefined);  // false
</pre>

<h2 id="Cú_pháp">Cú pháp</h2>

<pre class="syntaxbox">Array.isArray(value)</pre>

<h3 id="Tham_Số">Tham Số</h3>

<dl>
 <dt><code>value</code></dt>
 <dd>Giá trị được kiểm tra.</dd>
</dl>

<h3 id="Giá_trị_trả_về">Giá trị trả về</h3>

<p><code>true</code> nếu giá trị là kiểu mảng {{jsxref("Array")}}; <code>false</code> nếu không phải mảng.</p>

<h2 id="Mô_tả">Mô tả</h2>

<p>Nếu giá trị là {{jsxref("Array")}}, trả về <code>true</code>, nếu không thì trả về <code>false</code>.</p>

<p>Xem bài viết <a href="http://web.mit.edu/jwalden/www/isArray.html">“Determining with absolute accuracy whether or not a JavaScript object is an array”</a> để có thêm chi tiết. Giả sử ta có một {{jsxref("TypedArray")}} instance, <code>false</code> sẽ luôn được trả về.</p>

<h2 id="Ví_dụ">Ví dụ</h2>

<pre class="brush: js">// all following calls return true
Array.isArray([]);
Array.isArray([1]);
Array.isArray(new Array());
// Little known fact: Array.prototype itself is an array:
Array.isArray(Array.prototype);

// all following calls return false
Array.isArray();
Array.isArray({});
Array.isArray(null);
Array.isArray(undefined);
Array.isArray(17);
Array.isArray('Array');
Array.isArray(true);
Array.isArray(false);
Array.isArray({ __proto__: Array.prototype });
</pre>

<h3 id="instanceof_vs_isArray"><code>instanceof</code> vs <code>isArray</code></h3>

<p>Để kiểm tra kiểu <code>Array</code>, nên dùng <code>Array.isArray</code> hơn là <code>instanceof</code> bởi vì nó vẫn ra đúng khi giá trị kiểm tra được truyền qua <code>iframes</code>.</p>

<pre class="brush: js">var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
xArray = window.frames[window.frames.length-1].Array;
var arr = new xArray(1,2,3); // [1,2,3]

// Correctly checking for Array
Array.isArray(arr);  // true
// Considered harmful, because doesn't work through iframes
arr instanceof Array; // false
</pre>

<h2 id="Polyfill">Polyfill</h2>

<p>Chạy mã dưới đây đầu tiên trước các mã khác sẽ tạo <code>Array.isArray()</code> nếu nó không có sẵn.</p>

<pre class="brush: js">if (!Array.isArray) {
  Array.isArray = function(arg) {
    return Object.prototype.toString.call(arg) === '[object Array]';
  };
}
</pre>

<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('ES5.1', '#sec-15.4.3.2', 'Array.isArray')}}</td>
   <td>{{Spec2('ES5.1')}}</td>
   <td>Định nghĩa lần đầu. Được hiện thực trong JavaScript 1.8.5.</td>
  </tr>
  <tr>
   <td>{{SpecName('ES6', '#sec-array.isarray', 'Array.isArray')}}</td>
   <td>{{Spec2('ES6')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ESDraft', '#sec-array.isarray', 'Array.isArray')}}</td>
   <td>{{Spec2('ESDraft')}}</td>
   <td> </td>
  </tr>
 </tbody>
</table>

<h2 id="Trình_duyệt_hỗ_trợ">Trình duyệt hỗ trợ</h2>

<div>


<p>{{Compat("javascript.builtins.Array.isArray")}}</p>
</div>

<h2 id="Xem_thêm">Xem thêm</h2>

<ul>
 <li>{{jsxref("Array")}}</li>
</ul>