Hướng dẫn array char to string javascript - mảng char thành chuỗi javascript

Làm thế nào để bạn chuyển đổi một mảng các ký tự thành một chuỗi trong JavaScript?

var s = ['H', 'e', 'l', 'l', 'o'];
// How to convert s to a string?

Hỏi ngày 15 tháng 9 năm 2011 lúc 2:56Sep 15, 2011 at 2:56

Hướng dẫn array char to string javascript - mảng char thành chuỗi javascript

1

Sử dụng join:

string = s.join("");

Đã trả lời ngày 15 tháng 9 năm 2011 lúc 2:58Sep 15, 2011 at 2:58

Máy bay kế hoạch kỹ thuật sốDigital Plane

36,6K7 Huy hiệu vàng56 Huy hiệu bạc59 Huy hiệu Đồng7 gold badges56 silver badges59 bronze badges

1

Bạn làm theo cách này:

var str = s.join();

Đã trả lời ngày 15 tháng 9 năm 2011 lúc 2:59Sep 15, 2011 at 2:59

Hướng dẫn array char to string javascript - mảng char thành chuỗi javascript

Gabriel Rossgabriel RossGabriel Ross

5.0861 Huy hiệu vàng28 Huy hiệu bạc 30 Huy hiệu Đồng1 gold badge28 silver badges30 bronze badges

2

Lệnh tham gia cho phép bạn đặt mã thông báo giữa các mục trong mảng.

Ex1:

function print(str) {
  $("#result").append("<p>" + str + "</p>");  
}

print(["A", "B", "C"].join()); // "A,B,C"
print(["A", "B", "C"].join("-")); // "A-B-C"
print(["A", "B", "C"].join("||")); // "A||B||C"
print(["A", "B", "C"].join("")); // "ABC"
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="result"></div>

Đã trả lời ngày 24 tháng 3 năm 2016 lúc 1:08Mar 24, 2016 at 1:08

Hoặc sử dụng chuỗi.

var string = String([1,2,3]);

Andrew D.

8.0003 huy hiệu vàng20 Huy hiệu bạc23 Huy hiệu đồng3 gold badges20 silver badges23 bronze badges

Đã trả lời ngày 15 tháng 9 năm 2011 lúc 4:47Sep 15, 2011 at 4:47

Kennebeckennebeckennebec

101K31 Huy hiệu vàng104 Huy hiệu bạc126 Huy hiệu đồng31 gold badges104 silver badges126 bronze badges

2

Nếu bạn có một mảng như let array1 = ['a', 'b', 'c'], bạn có thể thử array1.join(''), chúng ta sẽ là 'abc'

Đã trả lời ngày 21 tháng 6 lúc 12:42Jun 21 at 12:42

GimnathgimnathGimnath

6466 Huy hiệu bạc11 Huy hiệu Đồng6 silver badges11 bronze badges

Dưới đây là 4 cách để chia một từ thành một mảng các ký tự. "Chia" là cách phổ biến nhất và mạnh mẽ hơn. Nhưng với việc bổ sung ES6, có nhiều công cụ hơn trong Arsenal JS để chơi với 🧰

Tôi luôn muốn xem tất cả các cách có thể để giải quyết một cái gì đó bởi vì sau đó bạn có thể chọn cách tốt nhất cho trường hợp sử dụng của bạn. Ngoài ra, khi bạn thấy nó bật lên trong cơ sở mã của ai đó, bạn sẽ hiểu nó một cách dễ dàng

# Kịch bản

Thay vì trải qua những ưu và nhược điểm của từng cách khác nhau. Hãy để tôi chỉ cho bạn các kịch bản khác nhau, nơi một người được ưa thích hơn cái kia.

# Mảng ký tự

Nếu tất cả những gì bạn đang làm là muốn tách chuỗi theo từng ký tự chuỗi, tất cả các cách đều tốt và sẽ cho bạn cùng một kết quả

# Phân tách cụ thể

Nếu bạn muốn chia chuỗi của mình bằng một ký tự cụ thể, thì

string = s.join("");
0 là cách để đi.

Các cách khác chỉ bị giới hạn bởi từng ký tự chuỗi

# Chuỗi chứa biểu tượng cảm xúc

Nếu chuỗi của bạn chứa biểu tượng cảm xúc, thì ____10 hoặc

string = s.join("");
2 có thể không phải là lựa chọn tốt nhất. Hãy xem những gì xảy ra:

Tuy nhiên, nếu chúng ta sử dụng các cách khác, nó hoạt động:

Điều này là do

string = s.join("");
0 phân tách các ký tự bằng các đơn vị mã UTF-16 có vấn đề vì các ký tự Emoji là UTF-8. Nếu chúng ta nhìn vào biểu tượng cảm xúc yum của chúng ta
string = s.join("");
4, nó thực sự được tạo thành từ 2 ký tự không phải là 1 như chúng ta nhận thức.

Đây là cái được gọi là cụm grapheme - nơi người dùng coi đó là 1 đơn vị, nhưng dưới mui xe, thực tế nó được tạo thành từ nhiều đơn vị. Các phương thức mới hơn

string = s.join("");
5 và
string = s.join("");
6 được trang bị tốt hơn để xử lý chúng và sẽ phân chia chuỗi của bạn bằng các cụm đồ họa 👍grapheme clusters 👍

# Một cảnh báo về string = s.join(""); 2

Một điều cần lưu ý

string = s.join("");
2 là nó không thực sự tạo ra một mảng thuần túy. Hãy bắt đầu với định nghĩa của nó

Phương thức Object.Assign () sao chép tất cả các thuộc tính riêng biệt từ một hoặc nhiều đối tượng nguồn sang đối tượng đích

Chìa khóa có "bản sao tất cả các thuộc tính riêng biệt". Vì vậy, những gì chúng tôi đang làm ở đây

string = s.join("");
9 Nó sao chép tất cả các thuộc tính chuỗi của chúng tôi vào mảng mới của chúng tôi. Có nghĩa là chúng tôi có một mảng cộng với một số phương thức chuỗi.

# TypeScript Kiểm tra: mảng kết quả không phải là loại
var str = s.join();
0 😱

Điều này là rõ ràng hơn nếu chúng ta sử dụng Sân chơi TypeScript. Vui lòng sao chép mã và dán vào sân chơi, nơi bạn có thể di chuột vào biến để xem các loại. Vì đây chỉ là một bài viết, tôi sẽ dán kết quả ở đây để bạn có thể làm theo.

Tuy nhiên, nếu chúng ta nhìn vào loại kết quả của

string = s.join("");
2. Nó không cho chúng ta một loạt các chuỗi.

# TypeScript Kiểm tra: Mảng kết quả có thể truy cập các thuộc tính chuỗi 😱

Chúng tôi có thể kiểm tra thêm điều này bằng cách truy cập một thuộc tính chỉ có sẵn cho

var str = s.join();
2.

Vì vậy, điều đó có nghĩa là nếu tôi gọi

var str = s.join();
3 trên mảng của chúng tôi, nó sẽ cho chúng tôi biết tài sản này không tồn tại. Đây là những gì chúng ta mong đợi để thấy:

Nhưng, nếu chúng ta gọi

var str = s.join();
3 trên mảng được cho là của chúng ta được tạo bởi
string = s.join("");
2, nó hoạt động 😱

Và điều này là do

string = s.join("");
2 bản sao trên tất cả các thuộc tính từ chuỗi gốc. Đây là cách tôi giải thích nó bằng các điều khoản không phải là DEV. Bạn đến một cửa hàng để mua một con chó. Nhưng sau đó lưu trữ
string = s.join("");
2 bán cho bạn một con chó có cánh rồng. Điều này nghe có vẻ siêu tuyệt vời, nhưng đây không thực sự là một con vật cưng thân thiện cho thuê. Hmm ... Tôi không nghĩ đây là ví dụ tốt nhất của tôi. Nhưng tôi nghĩ bạn nhận được quan điểm của tôi 😂

# Chuyển đổi có vẻ ổn trong trình duyệt 🙂

Bây giờ tôi không nghĩ rằng đây là một công cụ phá vỡ giao dịch lớn, vì:

Có vẻ như các trình duyệt có một số loại cơ chế để "an toàn" do object.assign ([], "chuỗi") và tránh thêm các phương thức của chuỗi đó vào mảng.

Cảm ơn bạn @lukeshiru: vì đã chia sẻ kiến ​​thức này cho tôi 👏 Anh ấy cũng đã tạo mã sân chơi TypeScript để bạn có thể xem> Liên kết

@CaptainArion_: Biến chuỗi thành mảng char nhưng sử dụng hàm bản đồ 🤣

@Hiumesh2:

var str = s.join();
8 wil cũng thực hiện thủ thuật

@Inside.Code: Thông tin bổ sung: an toàn hơn khi sử dụng toán tử lan rộng (phương pháp thứ hai) thay vì

var str = s.join();
9 (phương pháp thứ nhất), vì
function print(str) {
  $("#result").append("<p>" + str + "</p>");  
}

print(["A", "B", "C"].join()); // "A,B,C"
print(["A", "B", "C"].join("-")); // "A-B-C"
print(["A", "B", "C"].join("||")); // "A||B||C"
print(["A", "B", "C"].join("")); // "ABC"
0 không hoạt động với một số ký tự không phổ biến.

@faerberrr: Tôi có một chuỗi chứa các ký tự đặc biệt như

function print(str) {
  $("#result").append("<p>" + str + "</p>");  
}

print(["A", "B", "C"].join()); // "A,B,C"
print(["A", "B", "C"].join("-")); // "A-B-C"
print(["A", "B", "C"].join("||")); // "A||B||C"
print(["A", "B", "C"].join("")); // "ABC"
1, v.v. Khi tôi chia chúng bằng phương pháp
function print(str) {
  $("#result").append("<p>" + str + "</p>");  
}

print(["A", "B", "C"].join()); // "A,B,C"
print(["A", "B", "C"].join("-")); // "A-B-C"
print(["A", "B", "C"].join("||")); // "A||B||C"
print(["A", "B", "C"].join("")); // "ABC"
2 và chạy
function print(str) {
  $("#result").append("<p>" + str + "</p>");  
}

print(["A", "B", "C"].join()); // "A,B,C"
print(["A", "B", "C"].join("-")); // "A-B-C"
print(["A", "B", "C"].join("||")); // "A||B||C"
print(["A", "B", "C"].join("")); // "ABC"
3, nó đã trả lại hai lần giá trị dự kiến! Chuyển sang toán tử lây lan đã khắc phục sự cố.

# Tài nguyên

  • MDN Web Docs: Split
  • MDN Web Docs: Truyền bá
  • MDN Web Docs: Array.from
  • MDN Web Docs: Object.Assign
  • Stack Overflow: Làm cách nào để phân chia một chuỗi, phá vỡ một ký tự cụ thể?
  • Stack Overflow: Làm thế nào để bạn có được một chuỗi vào một mảng ký tự trong JavaScript?
  • Stack Overflow: Làm cách nào để chia một chuỗi thành một mảng các ký tự?
  • Stack Overflow: Chuyển đổi UTF-8 thành Unicode để tìm Emoji trong chuỗi trong Java

Bạn có thể biến một mảng thành một chuỗi javascript không?

Để chuyển đổi một mảng thành một chuỗi trong javascript, chúng tôi chỉ cần áp dụng phương thức toString () trên mảng đã cho và chúng tôi nhận được một phiên bản chuỗi của mảng của chúng tôi.Trong nội bộ JavaScript trước tiên chuyển đổi từng phần tử thành chuỗi và sau đó cụ thể chúng để trả về chuỗi cuối cùng.apply the toString() method on the given array, and we get a stringified version of our array. Internally javascript first converts each element into string and then concretes them to return the final string.

Chuỗi có phải là một mảng char trong javascript không?

@Luigivanderpal Một chuỗi không phải là một mảng, nhưng nó rất giống nhau.Tuy nhiên, nó không giống với một mảng các ký tự.A string is not an array, but it is very similar. However, it is not similar to an array of characters.

Mảng char có thể được chuyển đổi thành chuỗi java không?

Một cách khác để chuyển đổi một mảng ký tự thành một chuỗi là sử dụng phương thức valueOf () có trong lớp chuỗi.use the valueOf() method present in the String class.

Bạn có thể phân tích một mảng javascript không?

Sử dụng phương thức parseInt () Phương thức parseInt () là một hàm tích hợp trong javascript lấy một chuỗi làm đối số và trả về một số.Phương pháp này có thể được sử dụng để chuyển đổi một mảng các chuỗi thành một mảng số.This method can be used to convert an array of strings to an array of numbers.