Hướng dẫn how to check each character in a string in javascript - cách kiểm tra từng ký tự trong chuỗi trong javascript

Cách xử lý từng chữ cái của văn bản (có điểm chuẩn)

https://jsperf.com/str-for-in-of-foreach-map-2

for

Cổ điển và cho đến nay là một người có hiệu suất cao nhất. Bạn nên đi với cái này nếu bạn dự định sử dụng nó trong một thuật toán quan trọng hiệu suất hoặc nó đòi hỏi khả năng tương thích tối đa với các phiên bản trình duyệt. and by far the one with the most performance. You should go with this one if you are planning to use it in a performance critical algorithm, or that it requires the maximum compatibility with browser versions.

for (var i = 0; i < str.length; i++) {
  console.info(str[i]);
}

for...of

Đối với ... là ES6 mới cho Iterator. Được hỗ trợ bởi hầu hết các trình duyệt hiện đại. Nó hấp dẫn hơn về mặt trực quan và ít dễ bị gõ vào lỗi. Nếu bạn đang làm điều này trong một ứng dụng sản xuất, có lẽ bạn nên sử dụng một bộ chuyển đổi như Babel.ES6 for iterator. Supported by most modern browsers. It is visually more appealing and is less prone to typing mistakes. If you are going for this one in a production application, you should be probably using a transpiler like Babel.

let result = '';
for (let letter of str) {
  result += letter;
}

cho mỗi

Phương pháp tiếp cận chức năng. Airbnb được phê duyệt. Nhược điểm lớn nhất của việc thực hiện theo cách này là

let result = '';
for (let letter of str) {
  result += letter;
}
2, tạo ra một mảng mới để lưu trữ từng chữ cái riêng lẻ của chuỗi. approach. Airbnb approved. The biggest downside of doing it this way is the
let result = '';
for (let letter of str) {
  result += letter;
}
2, that creates a new array to store each individual letter of the string.

Tại sao? Điều này thực thi quy tắc bất biến của chúng tôi. Đối phó với các chức năng thuần túy mà các giá trị trả về dễ lý do hơn là các tác dụng phụ.

// ES6 version.
let result = '';
str.split('').forEach(letter => {
  result += letter;
});

hoặc

var result = '';
str.split('').forEach(function(letter) {
  result += letter;
});

Sau đây là những người tôi không thích.

for...in

Không giống như ... OF, bạn nhận được chỉ mục thư thay vì chữ cái. Nó thực hiện khá tệ.

var result = '';
for (var letterIndex in str) {
  result += str[letterIndex];
}

bản đồ

Phương pháp tiếp cận chức năng, đó là tốt. Tuy nhiên, bản đồ không có nghĩa là được sử dụng cho điều đó. Nó nên được sử dụng khi cần thay đổi các giá trị bên trong một mảng, đó không phải là trường hợp.

// ES6 version.
var result = '';
str.split('').map(letter => {
  result += letter;
});

hoặc

let result = '';
str.split('').map(function(letter) {
  result += letter;
});

Hãy tự mình thử »

Chỉ số không hợp lệ chuyển đổi thành 0:

hãy để văn bản = "Hello World"; Đặt chữ cái = text.charat (3.14);

let str = "hello123";
alert(str.length);            // 8

// the last character
alert(str[str.length - 1]);   // 3

Hỗ trợ trình duyệt

// ES6 version. let result = ''; str.split('').forEach(letter => { result += letter; }); 8 là tính năng ECMAScript1 (ES1).

ES1 (JavaScript 1997) được hỗ trợ đầy đủ trong tất cả các trình duyệt:

Trình duyệt Chrome

// ordinary for loop
let str = "Buzz";
for (let i = 0; i < str.length; i++) {
  console.log(str[i]);
}
I E

Bờ rìa

Firefox

Example:

// for... in
for (let i in str) {
  console.log(str[i]);
}

Cuộc đi săn

let result = '';
for (let letter of str) {
  result += letter;
}
0
cho ... của ...

Một cách khác để lặp qua một chuỗi là sử dụng

// ES6 version.
let result = '';
str.split('').forEach(letter => {
  result += letter;
});
6. Biến
// ES6 version.
let result = '';
str.split('').forEach(letter => {
  result += letter;
});
7 nhận trực tiếp ký tự để bạn không phải sử dụng chỉ mục. Nếu mã của bạn không cần giá trị chỉ mục của mỗi ký tự, định dạng vòng lặp này thậm chí còn đơn giản hơn.

Example:

let result = '';
for (let letter of str) {
  result += letter;
}
1

Kết quả khớp với """

    Không có kết quả phù hợp với """

    Ví dụ

    Nhận ký tự đầu tiên trong một chuỗi:first character in a string:

    hãy để văn bản = "Hello World"; Đặt chữ cái = text.charat (0);
    let letter = text.charAt(0);

    Hãy tự mình thử »

    Nhận ký tự thứ hai trong một chuỗi:second character in a string:

    hãy để văn bản = "Hello World"; Đặt chữ cái = text.charat (1);
    let letter = text.charAt(1);

    Hãy tự mình thử »

    Nhận ký tự cuối cùng trong một chuỗi:last character in a string:

    hãy để văn bản = "Hello World"; Đặt chữ cái = text.charat (text.length-1);
    let letter = text.charAt(text.length-1);

    Hãy tự mình thử »

    Thêm ví dụ dưới đây.


    Định nghĩa và cách sử dụng

    Phương thức

    // ES6 version.
    let result = '';
    str.split('').forEach(letter => {
      result += letter;
    });
    
    8 trả về ký tự tại một chỉ mục được chỉ định (vị trí) trong một chuỗi.

    Chỉ số của ký tự đầu tiên là 0, 1 thứ hai, ...


    Cú pháp

    Thông số

    Tham sốSự mô tả
    mục lụcTùy chọn. Chỉ mục (vị trí) của ký tự.Default = 0.
    The index (position) of the character.
    Default = 0.

    Giá trị trả về

    Loại hìnhSự mô tả
    mục lụcTùy chọn. Chỉ mục (vị trí) của ký tự.Default = 0.
    Empty string ("") if the index is out of range.


    Giá trị trả về

    Loại hình

    Sợi dây
    let letter = text.charAt(15);

    Hãy tự mình thử »

    Ký tự tại chỉ số được chỉ định. Chuỗi trống ("") Nếu chỉ mục nằm ngoài phạm vi.

    Nhiều ví dụ hơn
    let letter = text.charAt();

    Hãy tự mình thử »

    Chỉ số không hợp lệ chuyển đổi thành 0:

    hãy để văn bản = "Hello World"; Đặt chữ cái = text.charat (3.14);
    let letter = text.charAt(3.14);

    Hãy tự mình thử »


    Hỗ trợ trình duyệt

    // ES6 version.
    let result = '';
    str.split('').forEach(letter => {
      result += letter;
    });
    
    8 là tính năng ECMAScript1 (ES1).

    ES1 (JavaScript 1997) được hỗ trợ đầy đủ trong tất cả các trình duyệt:

    Trình duyệt ChromeI EBờ rìaFirefoxCuộc đi sănOpera
    ĐúngĐúngĐúngĐúngĐúngĐúng


    Làm cách nào tôi có thể xử lý từng chữ cái của văn bản bằng JavaScript?

    Làm thế nào tôi có thể xử lý từng chữ cái của văn bản bằng JavaScript ?..
    Chia chuỗi thành một mảng (danh sách) các ký tự ..
    Ánh xạ từng ký tự thông qua một functor ..
    Tham gia mảng kết quả của các ký tự nhau vào chuỗi kết quả ..

    Bạn có thể sử dụng foreach trên một chuỗi không?

    Bạn không thể sử dụng nó trên một chuỗi vì nó không có sẵn trên nguyên mẫu chuỗi. because it's not available on the String prototype.

    Làm thế nào chúng ta có thể lặp lại thông qua các từ riêng lẻ trong một chuỗi javascript?

    Để lặp lại các từ của một chuỗi,..
    Chia chuỗi.Phân đoạn phổ biến giữa các từ trong một chuỗi là không gian.Sự phân chia trả về một mảng.Mỗi phần tử trong mảng là một từ ..
    Sử dụng cho vòng lặp để lặp qua các từ có trong mảng ..

    Bạn có thể lặp qua một chuỗi trong JavaScript không?

    Sử dụng số chỉ mục chuỗi để lặp qua một chuỗi trong vòng lặp này, biến tôi tự động nhận chỉ mục để mỗi ký tự có thể được truy cập bằng str [i]. In this loop, the variable i automatically receives the index so that each character can be accessed using str[i] .