JavaScript – Những điều kỳ lạ với Array.

1.Apply()
-vd:
+Array.apply(null, Array(3)) // [undefined, undefined, undefined]
+Array.apply(null, [,,,]) // [undefined, undefined, undefined]
+Array.apply(null, {length : 3}) // [undefined, undefined, undefined]
+Array.apply(null, (a,b,c) => {}) // [undefined, undefined, undefined]
-Tính năng này được mang đến bởi ECMAScript 5. Kể từ ES5, ta có thể thực hiện lời gọi Function.prototype.apply() với bất kỳ array- like object (một object giống array nhưng không phải là array). Điều đó có nghĩa là tham số thứ 2 của apply() cần phải có thuộc tính length dạng integer có giá trị nằm trong khoảng từ 0…..length-1.
2.Sort()
– Sort trong JS là sắp xếp 1 mảng theo giá trị chuỗi unicode của chúng nhưng đối với sort của ngôn ngữ khác thì khác nhau.
– vd:
let array = [0,2,10];
array.sort();
==> array = [ 0,10,2];
vì giá trị unicode của 10 nhỏ hơn 2 nên 10 sẽ đứng trước 2.
3.Slice()
-Slice() lấy 2 đối số, Start và End và trả về một mảng chứa các phần tử của mảng từ phần tử bắt đầu từ start đến end (không bao gồm end ).
-Cú pháp: array.slice(start,end);
-vd :
[1,2,3].slice(0, null); // []
[1,2,3].slice(0, undefined); // [1,2,3]
Trong cả 2 ví dụ “begin =0” Tuy nhiên, và mặc dù cả null và undefined đại diện cho sự vắng mặt của một giá trị, kết quả cho “end = nul”l lại là không có gì so với kết quả cho “end = undefined” Lý do là trong ECMAScript có nói:
+ nếu end là undefined thì end là độ dài của mảng.
+Nếu ngược lại “toInteger(end)” sẽ được chuyển sang thành “toNumber(end)”.

link: https://hackernoon.com/oh-my-goodnejs-arrays-f9e9e4f03c97

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

Facebook