Tôi đã một chức năng mà chấp nhận nhiều đối số (chỉ có một được xác định trong chức năng mặc dù)Tại sao kết nối của tôi trên mảng JavaScript bị lỗi?
var getSearchFields = function(method) {
console.log(arguments); // this prints them out nicely into the console
var args = arguments;
var argsString = args.join('/'); // I expect 'arg1/arg2/arg3', instead I get 'args.join is not a function'
}
Tôi chỉ muốn có một chuỗi của tất cả các đối số được gửi đến các chức năng. Tôi vẫn gặp phải lỗi này:
args.join is not a function
Ai đó có thể vui lòng cho tôi biết tôi đang làm gì sai?
Để chuyển đổi các đối số đối tượng đến một mảng, bạn có thể chỉ đơn giản là: 'var convertedArray = Array.prototype.slice.call (arguments);' – CMS
bạn cũng có thể đơn giản hóa vòng lặp bằng cách sử dụng mối nối .... var args = [] .splice.call (đối số, 0); –
@Russ: Ngắn hơn nhưng sẽ không hoạt động trên IE, bạn nên gọi trực tiếp hàm Array.prototype.slice. – CMS