2012-01-25 27 views
28

Tôi đang viết một lớp có nguồn gốc từ Mảng trong JavaScript và cần biết các hàm nào bị quá tải để tôi có thể nhận biết được các thay đổi được thực hiện cho mảng đó.Chức năng JavaScript Array nào đang thay đổi?

Tôi biết Array.push()Array.splice() đang thay đổi. Có danh sách dứt khoát của bất kỳ người nào khác không?

+3

'Mảng .sort() 'Nhận xét phải dài ít nhất 15 ký tự – Mohsen

Trả lời

46

Bạn có thể tìm thấy danh sách trên MDN như Mutator phương (cùng với AccessorIteration phương pháp):

+0

Liên kết của trình tắt hiện không chính xác, nó là n ow: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype#Mutator_methods – zamnuts

+0

@zamnuts Cảm ơn. Và, có vẻ như tất cả các liên kết cần một số cập nhật. –

3

Bạn cũng có thể sử dụng .concat(), trước khi sử dụng phương pháp đột biến của bạn, để đảm bảo bạn không đột biến mảng của bạn, ví dụ:

const dontMutateMe = [4,5,1,2,3]; 
const sortArray = dontMutateMe.concat().sort(...) 
+2

Với ES2015 nó chỉ là: 'const sortArray = [... dontMutateMe] .sort (...);' –

Các vấn đề liên quan