Bạn đang xem : javascript nối mảng dưới dạng chuỗi

câu trả lời ngắn gọn: sử dụng array.join.

câu trả lời dài:

Trước hết, nối không nhanh hơn so với sử dụng array.join (), nó chậm hơn. điều này là do mỗi lần bạn nối, bạn sẽ hủy hai chuỗi và tạo một chuỗi mới.

lấy mã sau:

  & lt; script & gt;
hàm concat () {
var txt = '';
for (var i = 0; i & lt; 1000000; i ++) {
txt = + i + ',';
}
}

hàm arr (ar) {
var txt = 'asdf' + ar;
}

ar = [];
for (var i = 0; i & lt; 1000000; i ++) {
ar.push (i);
}

concat ();

arr (ar);

alert ('xong!');
& lt; / script & gt;
 

và dán nó vào một tệp html. Sau đó, hồ sơ nó. Trên máy của tôi (core i7EE, RAM 16GB, đĩa SSD, IE9), arr () mất 0ms và concat () mất 12ms. Hãy nhớ rằng đây là hơn một triệu lần lặp (thử nghiệm tương tự này sẽ khá khác trên IE6, concat () sẽ mất vài giây).

Thứ hai, nối sẽ giống như array.join khi chỉ có hai giá trị. Vì vậy, đối với ví dụ của bạn, từ góc độ hiệu suất, cả hai đều tương đương nhau. nếu bạn lấy mã trên và thay đổi 1000000 thành 4, cả concat và arr đều mất 0ms để thực thi. điều này có nghĩa là sự khác biệt đối với quy trình cụ thể của bạn là không tồn tại hoặc không đáng kể, nó không hiển thị trong hồ sơ.

Thứ ba, các trình duyệt hiện đại tối ưu hóa việc nối chuỗi bằng cách sử dụng array.join (), vì vậy, cuộc thảo luận có thể là tranh luận về quan điểm hiệu suất.

Xem Thêm  Làm thế nào để có được hình dạng mảng NumPy? - giải thích hình dạng mảng numpy

Điều đó để lại cho chúng tôi phong cách. Cá nhân tôi sẽ không sử dụng biểu mẫu đầu tiên vì tôi không thích nối các chuỗi theo cách thủ công (khi bạn có 2 vars thì nó khá đơn giản, nhưng nếu bạn có 10 vars thì sao? Điều đó sẽ tạo ra một dòng mã thực sự dài. Và điều gì sẽ xảy ra nếu bạn nhận được một mảng có n giá trị, đi kèm với một vòng lặp for). Tôi cũng sẽ không sử dụng biểu mẫu thứ hai bởi vì, như đã chỉ ra trong một câu trả lời khác, giá trị bị ép buộc thành một chuỗi và điều đó có nghĩa là một số chuyển đổi ngầm đang diễn ra. Vấn đề ở đây là phần ngầm hiểu. Tôi biết bây giờ các mảng được nối bằng dấu phẩy khi bị ép buộc, nhưng điều gì sẽ xảy ra nếu thông số kỹ thuật thay đổi hoặc một số thiên tài quyết định thay đổi việc triển khai thành Chuỗi của Array.prototype trong cơ sở mã của bạn? chỉ để giải trí, chạy cái này trong jsfiddle:

  Array.prototype.toString = function () {
return 'không phải là kết quả mong đợi!';
}

alert ([1, 2]);
 

Bạn có đoán được câu trả lời sẽ là gì không? (đoạn mã trên sẽ thực hiện cùng một loại chuyển đổi cho mảng như mã của bạn. ép buộc thông qua phương thức toString ())

nếu bạn sử dụng array.join (‘,’); bạn sẽ bảo vệ mã của mình trong tương lai bằng cách nói rõ rằng 1) mảng của bạn sẽ được tham gia bất kể việc triển khai toString và 2) mảng đó sẽ được nối bằng dấu phẩy.

Xem Thêm  Hàm mũi tên trong JavaScript - hàm mũi tên trong js


Xem thêm những thông tin liên quan đến chủ đề javascript tham gia mảng dưới dạng chuỗi

JavaScript Promises In 10 Minutes

  • Tác giả: Web Dev Simplified
  • Ngày đăng: 2019-01-17
  • Đánh giá: 4 ⭐ ( 8123 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: ES6 came with many new features, but one of the best features was the official introduction of Promises. Promises allow you to write clean non-callback-centric code without ever having to worry about callback hell. Even if you never write your own promise, knowing how they work is incredibly important, since many newer parts of the JavaScript API use promises instead of callbacks. Checkout the full video to learn how to define and use promises.

    Promise Article: https://blog.webdevsimplified.com/2021-09/javascript-promises

    Code From This Video:
    https://codepen.io/WebDevSimplified/pen/jXoXYj

    Twitter:
    https://twitter.com/DevSimplified

    GitHub:
    https://github.com/WebDevSimplified

    CodePen:
    https://codepen.io/WebDevSimplified

    JavaScript Promises WebDevelopment

[Tự học Javascript] Bài tập + full bài hướng dẫn về Array và hàm Array trong Javascript

  • Tác giả: cafedev.vn
  • Đánh giá: 4 ⭐ ( 9735 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cụ thể, trong bài tập Javascript này chúng ta sẽ làm quen với Array và hàm của Array.

Một số phương thức xử lý mảng trong Javascript

  • Tác giả: viblo.asia
  • Đánh giá: 3 ⭐ ( 4203 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài viết dưới đây của mình sẽ tóm tắt một số phương thức xử lý mảng thường sứ dụng trong Javascript

Mảng trong javascript

  • Tác giả: toidicode.com
  • Đánh giá: 3 ⭐ ( 5013 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Ở phần hằng và biến trong javascript mình cũng có nói qua về cách khai báo mảng trong javascript rồi. Nhưng đó mới chỉ là mức độ khai báo còn sử dụng thì mình chưa nói, nên bài này mình sẽ giới thiệu lại với mọi người về mảng trong javascript một cách chi tiết hơn.

Mảng trong JavaScript | JS ARRAY

  • Tác giả: hanoiict.edu.vn
  • Đánh giá: 5 ⭐ ( 1182 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong hướng dẫn tự học Javascript này, bạn sẽ tìm hiểu về Mảng (Hay còn gọi là Array), cách tạo và thao tác với Mảng trong JavaScript.

Javascript so sánh các số dưới dạng chuỗi

  • Tác giả: isolution.pro
  • Đánh giá: 3 ⭐ ( 6164 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Làm việc với mảng (Array) trong Javascript

  • Tác giả: phambinh.net
  • Đánh giá: 3 ⭐ ( 9376 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tổng hợp các phương thức, thuộc tính làm việc với mảng trong JavaScript. Các hàm xử mảng trong JavaScript, các hàm xử lý array trong JavaScript.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Cách thay đổi màu văn bản trong Html - màu html trong văn bản

By ads_php