Hướng dẫn what is the difference between reverse () and join () methods in javascript? - Sự khác biệt giữa phương thức reverse () và join () trong javascript là gì?

Tôi muốn nói trước. Rất người mới bắt đầu. Tử tế. Tuy nhiên. Tôi đang cố gắng đảo ngược một chuỗi. Đặt một chuỗi vào một hàm như một đối số và đảo ngược thứ tự của nó. Ví dụ 'xin chào' nên trả lại 'olleh', v.v.

Tôi đã hoàn thành việc này bằng cách làm:

function revString[stringArg] {
    return stringArg.split[""].reverse[].join["];
}

Tuy nhiên. Bằng cách làm như thế này:

function revString [stringArg] {
    stringArg.split[""];
    stringArg.reverse[];
    stringArg.join[""];
    return stringArg;
}

Đầu ra kết quả cho hàm thứ hai là đảo ngược [] không phải là một hàm. Ai đó có thể cho tôi biết sự khác biệt ở đây là gì?

Anthony Phạm

3.0865 Huy hiệu vàng30 Huy hiệu bạc37 Huy hiệu Đồng5 gold badges30 silver badges37 bronze badges

Hỏi ngày 30 tháng 7 năm 2017 lúc 15:36Jul 30, 2017 at 15:36

2

Điều này xảy ra vì split[] không phân chia chuỗi tại chỗ, mà thay vào đó trả về chuỗi phân chia dưới dạng giá trị mới. Trong chức năng thứ hai của bạn, bạn làm stringArg.split[], nhưng vì hoạt động đó không xảy ra, stringArg không bao giờ bị đột biến. Nó giữ lại cùng một giá trị và loại trong suốt, dẫn đến lỗi bạn đang thấy.

Lý do hàm đầu tiên hoạt động là vì các cuộc gọi hàm được áp dụng cho giá trị trả về của cuộc gọi trước đó. Nói cách khác:

  • split[] được gọi vào stringArg
  • function revString [stringArg] {
        stringArg.split[""];
        stringArg.reverse[];
        stringArg.join[""];
        return stringArg;
    }
    
    2 được gọi là giá trị trả về của split[], đây là một mảng và do đó có thể được đảo ngược trực tiếp
  • function revString [stringArg] {
        stringArg.split[""];
        stringArg.reverse[];
        stringArg.join[""];
        return stringArg;
    }
    
    4 được gọi là giá trị trả về của
    function revString [stringArg] {
        stringArg.split[""];
        stringArg.reverse[];
        stringArg.join[""];
        return stringArg;
    }
    
    2

Nhưng trong hàm thứ hai, bạn gọi tất cả chúng trên cùng một biến, stringArg, vẫn giữ nguyên trong suốt. Để chức năng của bạn hoạt động, bạn cần sửa đổi nó như vậy:

function revString [stringArg] {
    a = stringArg.split[""]; // Array
    b = a.reverse[]; // Reversed array
    c = b.join[""]; // String
    return c;
}

Tuy nhiên, điều này, trong khi dễ hiểu hơn, có lẽ, là một dòng chảy một cách không cần thiết. Tôi khuyên bạn nên gắn bó với chức năng ban đầu.

Đã trả lời ngày 30 tháng 7 năm 2017 lúc 15:42Jul 30, 2017 at 15:42

Điều này là do

function revString [stringArg] {
    stringArg.split[""];
    stringArg.reverse[];
    stringArg.join[""];
    return stringArg;
}
7 được sử dụng trên đầu ra của
function revString [stringArg] {
    stringArg.split[""];
    stringArg.reverse[];
    stringArg.join[""];
    return stringArg;
}
8.

Sử dụng

function revString [stringArg] {
    stringArg.split[""];
    stringArg.reverse[];
    stringArg.join[""];
    return stringArg;
}
7 tự nó không hoạt động vì dòng trước khi nó không thay đổi trực tiếp trừ khi bạn gán lại nó bằng
function revString [stringArg] {
    a = stringArg.split[""]; // Array
    b = a.reverse[]; // Reversed array
    c = b.join[""]; // String
    return c;
}
0. Dòng đầu tiên sẽ trả về mảng ký tự nhưng không thay đổi trực tiếp ____99.

So:

stringArg.split[""].reverse[].join[""];

có nghĩa là

function revString [stringArg] {
    a = stringArg.split[""]; // Array
    b = a.reverse[]; // Reversed array
    c = b.join[""]; // String
    return c;
}
2 tất cả các phần tử trong mảng có các phần tử theo thứ tự
function revString [stringArg] {
    a = stringArg.split[""]; // Array
    b = a.reverse[]; // Reversed array
    c = b.join[""]; // String
    return c;
}
3 dựa trên
function revString [stringArg] {
    a = stringArg.split[""]; // Array
    b = a.reverse[]; // Reversed array
    c = b.join[""]; // String
    return c;
}
4ing của chuỗi. Nói cách khác,
function revString [stringArg] {
    stringArg.split[""];
    stringArg.reverse[];
    stringArg.join[""];
    return stringArg;
}
7 được sử dụng trên
function revString [stringArg] {
    a = stringArg.split[""]; // Array
    b = a.reverse[]; // Reversed array
    c = b.join[""]; // String
    return c;
}
6, không chỉ stringArg và tương tự với
function revString [stringArg] {
    a = stringArg.split[""]; // Array
    b = a.reverse[]; // Reversed array
    c = b.join[""]; // String
    return c;
}
8: nó được áp dụng cho
function revString [stringArg] {
    a = stringArg.split[""]; // Array
    b = a.reverse[]; // Reversed array
    c = b.join[""]; // String
    return c;
}
9 không chỉ stringArg.

Do đó, giải pháp sẽ là:

function revString2 [stringArg] {
    a = stringArg.split[""];
    b = a.reverse[];
    c = b.join[""];
    return c;
}

Đã trả lời ngày 30 tháng 7 năm 2017 lúc 15:47Jul 30, 2017 at 15:47

Anthony Phama PhạmAnthony Pham

3.0865 Huy hiệu vàng30 Huy hiệu bạc37 Huy hiệu Đồng5 gold badges30 silver badges37 bronze badges

Hỏi ngày 30 tháng 7 năm 2017 lúc 15:36

Điều này xảy ra vì split[] không phân chia chuỗi tại chỗ, mà thay vào đó trả về chuỗi phân chia dưới dạng giá trị mới. Trong chức năng thứ hai của bạn, bạn làm stringArg.split[], nhưng vì hoạt động đó không xảy ra, stringArg không bao giờ bị đột biến. Nó giữ lại cùng một giá trị và loại trong suốt, dẫn đến lỗi bạn đang thấy.

Lý do hàm đầu tiên hoạt động là vì các cuộc gọi hàm được áp dụng cho giá trị trả về của cuộc gọi trước đó. Nói cách khác:

split[] được gọi vào stringArgJul 30, 2017 at 15:41

function revString [stringArg] {
    stringArg.split[""];
    stringArg.reverse[];
    stringArg.join[""];
    return stringArg;
}
2 được gọi là giá trị trả về của split[], đây là một mảng và do đó có thể được đảo ngược trực tiếpthen use
stringArg.split[""].reverse[].join[""];
6, which works in situ [mutates the original array] and then, return joined array.

function revString[stringArg] {
    let arr = stringArg.split[""];
    arr.reverse[];
    return arr.join[""];
}

console.log[revString['hello']];

function revString [stringArg] {
    stringArg.split[""];
    stringArg.reverse[];
    stringArg.join[""];
    return stringArg;
}
4 được gọi là giá trị trả về của
function revString [stringArg] {
    stringArg.split[""];
    stringArg.reverse[];
    stringArg.join[""];
    return stringArg;
}
2Jul 30, 2017 at 15:43

Nhưng trong hàm thứ hai, bạn gọi tất cả chúng trên cùng một biến, stringArg, vẫn giữ nguyên trong suốt. Để chức năng của bạn hoạt động, bạn cần sửa đổi nó như vậy:kind user

Tuy nhiên, điều này, trong khi dễ hiểu hơn, có lẽ, là một dòng chảy một cách không cần thiết. Tôi khuyên bạn nên gắn bó với chức năng ban đầu.6 gold badges63 silver badges77 bronze badges

Đã trả lời ngày 30 tháng 7 năm 2017 lúc 15:42

function revString [ stringArg ] { 
stringArg=stringArg . split [ "" ]; 
stringArg=stringArg . reverse []; 

stringArg=stringArg . join [ "" ]; return stringArg ; } 

Đã trả lời ngày 30 tháng 7 năm 2017 lúc 15:47Jul 30, 2017 at 15:47

user7951676user7951676user7951676

Anthony Phama Phạm2 silver badges10 bronze badges

Đảo ngược [] sẽ làm gì trong javascript?

Phương thức đảo ngược [] đảo ngược thứ tự của các phần tử trong một mảng. Phương thức đảo ngược [] ghi đè lên mảng gốc.reverses the order of the elements in an array. The reverse[] method overwrites the original array.

Làm thế nào để bạn đảo ngược một đối tượng trong JavaScript?

Làm thế nào để bạn đảo ngược một đối tượng trong JavaScript ?..
Sử dụng đối tượng.Phương thức khóa [] để lấy một mảng các phím của đối tượng ..
Gọi phương thức Reverse [] để đảo ngược mảng ..
Sử dụng phương thức foreach [] để lặp qua mảng và truy cập các phím và giá trị của đối tượng theo thứ tự ngược lại ..

Làm thế nào để bạn chia và tham gia JavaScript?

Cách hoạt động: Đầu tiên, chia chuỗi tiêu đề cho không gian thành một mảng bằng cách sử dụng phương thức chuỗi chia [].Thứ ba, chuyển đổi chuỗi kết quả thành chữ thường bằng cách sử dụng phương thức tolowerCase [].split the title string by the space into an array by using the split[] string method. Second, concatenate all elements in the result array into a string by using the join[] method. Third, convert the result string to lower case by using the toLowerCase[] method.

Làm thế nào để bạn đảo ngược một phần tử trong một mảng?

Các bước giải pháp..
Đặt hai con trỏ [để bắt đầu và kết thúc] ở đầu và cuối của mảng ..
SWAP ARR [START] và ARR [END].
Tăng kết thúc bắt đầu và giảm với 1 ..
Nếu bắt đầu đạt đến độ dài giá trị/2 hoặc bắt đầu ≥ kết thúc, thì hãy chấm dứt khác lặp lại từ bước 2 ..

Bài Viết Liên Quan

Chủ Đề