--- title: Array.prototype.includes() slug: Web/JavaScript/Reference/Global_Objects/Array/includes tags: - JavaScript - Mảng - Phương Thức - Pollyfill - Prototype - Tham khảo translation_of: Web/JavaScript/Reference/Global_Objects/Array/includes ---
Phương thức includes()
kiểm tra xem phần tử đã cho có tồn tại trong mảng hay không, trả về kết quả true
hoặc false
.
arr.includes(valueToFind[, fromIndex])
valueToFind
Giá trị muốn kiểm tra.
Lưu ý: Khi kiểm tra chuỗi hoặc kí tự, includes()
sẽ phân biệt hoa thường.
fromIndex
{{optional_inline}}valueToFind
; đầu tìm kiếm tại fromIndex
khi fromIndex
mang giá trị dương, hoặc tại array.length + fromIndex
khi fromIndex
mang giá trị âm (sử dụng {{interwiki("wikipedia", "absolute value", "giá trị tuyệt đối")}} của fromIndex
làm số lượng kí tự tính từ cuối mảng làm vị trí bắt đầu). Giá trị mặc định là 0.Có kiểu {{jsxref("Boolean")}}, trả về true
nếu valueToFind
được tìm thấy trong mảng (hoặc một phần của mảng được xác định bởi fromIndex
nếu có). Các giá trị "không" được coi là bằng nhau (-0 sẽ bằng 0 và +0), nhưng false
thì không bằng 0.
Lưu ý: Về mặt kĩ thuật, includes()
sử dụng thuật toán sameValueZero
để kiểm tra phần tử đã cho có tìm thấy hay không.
[1, 2, 3].includes(2); // true [1, 2, 3].includes(4); // false [1, 2, 3].includes(3, 3); // false [1, 2, 3].includes(3, -1); // true [1, 2, NaN].includes(NaN); // true
fromIndex
lớn hơn hoặc bằng độ dài mảngNếu fromIndex
lớn hơn hoặc bằng độ dài mảng, trả về kết quả false
var arr = ['a', 'b', 'c']; arr.includes('c', 3); // false arr.includes('c', 100); // false
Nếu fromIndex
là số âm, computed index sẽ được dùng làm vị trí bắt đầu để tìm kiếm valueToFind
. Nếu computed index nhỏ hơn hoặc bằng -1 * array.length
, phần tử đã cho sẽ được tìm kiếm trong toàn bộ mảng (tương tự như fromIndex
bằng 0).
// độ dài mảng là 3 // fromIndex là -100 // computed index là 3 + (-100) = -97 var arr = ['a', 'b', 'c']; arr.includes('a', -100); // true arr.includes('b', -100); // true arr.includes('c', -100); // true arr.includes('a', -2); // false
includes()
used as a generic methodincludes()
method is intentionally generic. It does not require this
value to be an Array object, so it can be applied to other kinds of objects (e.g. array-like objects). The example below illustrates includes()
method called on the function's arguments object.
(function() { console.log([].includes.call(arguments, 'a')); // true console.log([].includes.call(arguments, 'd')); // false })('a','b','c');
Please do not add polyfills on reference articles. For more details and discussion, see https://discourse.mozilla.org/t/mdn-rfc-001-mdn-wiki-pages-shouldnt-be-a-distributor-of-polyfills/24500
Specification | Status | Comment |
---|---|---|
{{SpecName('ESDraft', '#sec-array.prototype.includes', 'Array.prototype.includes')}} | {{Spec2('ESDraft')}} | |
{{SpecName('ES7', '#sec-array.prototype.includes', 'Array.prototype.includes')}} | {{Spec2('ES7')}} | Initial definition. |
{{Compat("javascript.builtins.Array.includes")}}