2013-04-26 41 views
7

tập lệnh của tôi tạo một mảng trống và sau đó điền vào nó. Nhưng nếu các đối số mới đến thì kịch bản dự kiến ​​sẽ phá hủy một tập lệnh cũ và tạo ra một cái mới.Javascript- có cách nào để tiêu diệt tất cả các phần tử của một mảng bằng một lệnh không?

var Passengers = new Array(); 

function FillPassengers(count){ 
    for(var i=0;i<count;i++) 
     Passengers[i] = i; 
} 

Tôi muốn hủy mục cũ vì số lượng mới có thể nhỏ hơn cũ và mảng cuối cùng vẫn sẽ lưu trữ mảng cũ? là đúng và nếu nó là làm thế nào tôi có thể phá hủy nó?

+0

bài này sẽ giúp bạn. http://stackoverflow.com/questions/1232040/how-to-empty-an-array-in-javascript – Riz

+0

bài đăng này sẽ giúp bạn. http://stackoverflow.com/questions/1232040/how-to-empty-an-array-in-javascript – Riz

Trả lời

5

Bạn chỉ có thể làm điều này để trống một mảng (mà không thay đổi đối tượng mảng chính nó):

Passengers.length = 0; 

Hoặc, với mã của bạn:

function FillPassengers(count){ 
    for(var i=0;i<count;i++) 
     Passengers[i] = i; 
    Passengers.length = count; 
} 
8

này sẽ tạo ra một mảng trống mới Passengers = [] . Không chắc chắn về những gì bạn nên làm.

Hoặc chỉ cần Passengers.length = 0;

+0

Tôi vừa mới đăng bài tương tự. – Bart

2

Bạn có thể chỉ cần tái gán một mới Mảng dụ

Passengers = [ ]; 

tương ứng

Passengers = new Array(); 

Các nhà sưu tập rác đến chăm sóc phần còn lại.

+0

cảm ơn rất nhiều. Hành khách = []; Hành khách = new Array(); cả hai giải quyết vấn đề –

+0

Vâng ... chỉ có cả hai ứng dụng giải quyết nó ': D' @ jAndy Bạn thấy có bao nhiêu lựa chọn thay thế có thể giúp OP hiểu những điều? ':)' – VisioN

+0

:) mỗi người là ok một lần nữa cảm ơn –

2

Rất đơn giản

riz = []; 

hoặc

riz.length = 0; 
+0

Quá muộn cho bữa tiệc ... – VisioN

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