1
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Nếu không sử dụng các chức năng phân chia và tham gia, làm thế nào một người sẽ làm một việc như vậy?
Vấn đề được đưa ra: Đảo ngược các từ trong đầu vào mẫu chuỗi: Đầu ra mẫu "Hello World": "World Hello"
var newString = "";
var theString = prompt["Enter a Phrase that you would like to reverse [Ex. Hello world]"];
newString = theString.split[" "].reverse[].join[" "]
document.write[newString];
Đã hỏi ngày 23 tháng 11 năm 2015 lúc 17:43Nov 23, 2015 at 17:43
Lazerrougelazerrougelazerrouge
892 Huy hiệu bạc8 Huy hiệu đồng2 silver badges8 bronze badges
4
Mảng có thể được sử dụng như ngăn xếp ra khỏi hộp. Và ngăn xếp là Lifo, đó là những gì bạn cần.
function reverseWords[str] {
var word, words, reverse;
words = str.match[/[?:\w+]/g];
reverse = '';
while[word = words.pop[]] {
reverse += word + ' ';
}
return reverse.trim[];
}
reverseWords['hello world'];
Hoặc sử dụng ngăn xếp cuộc gọi làm ngăn xếp của bạn:
function reverseWords[str] {
var result = '';
[function readWord[i = 0] {
var word = '';
if[i > str.length] {
return '';
}
while[str[i] !== ' ' && i < str.length] {
word += str[i];
i++;
}
readWord[++i]; // Skip over delimiter.
result += word + ' ';
}[]];
return result.trim[];
}
reverseWords['hello world'];
Đã trả lời ngày 23 tháng 11 năm 2015 lúc 18:56Nov 23, 2015 at 18:56
Ben Astonben AstonBen Aston
50.7K61 Huy hiệu vàng194 Huy hiệu bạc324 Huy hiệu đồng61 gold badges194 silver badges324 bronze badges
Một ý tưởng khác để đảo ngược các từ trong chuỗi là sử dụng cấu trúc dữ liệu ngăn xếp. Như vậy:
var newString = "";
var theString = prompt["Enter a Phrase that you would like to reverse [Ex. Hello world]"];
var word = "";
var c;
var stack = [];
for [var i = 0, len = theString.length; i < len; i++] {
c = theString[i];
word += c;
if [c == " " || i == [len-1]] {
word = word.trim[];
stack.push[word];
word = "";
}
}
while [s = stack.pop[]] {
newString += s + " ";
}
console.log[newString];
Đã trả lời ngày 23 tháng 11 năm 2015 lúc 18:31Nov 23, 2015 at 18:31
Lucas Potterskylucas PotterskyLucas Pottersky
1.7245 huy hiệu vàng21 Huy hiệu bạc37 Huy hiệu đồng5 gold badges21 silver badges37 bronze badges
Bạn cũng có thể đi ưa thích và thử một cái gì đó như thế này:
Tôi không thể đưa ra một giải pháp ngắn hơn.
var newString = "";
var theString = prompt["Enter a Phrase that you would like to reverse [Ex. Hello world]"];
theString.replace[/[^\s]*/g, function [value] {
newString = value + ' ' + newString;
}];
document.write[newString];
Đã trả lời ngày 23 tháng 11 năm 2015 lúc 18:27Nov 23, 2015 at 18:27
Trong số hàng triệu giải pháp khác nhau, số lượng gõ ít nhất mà tôi có thể đưa ra liên quan đến việc sử dụng lastIndexOf
và substring
.
var str = "The quick brown fox",
reversed = "",
idx;
while[true] {
idx = str.lastIndexOf[" "]
reversed = reversed + str.substring[idx].trim[] + " "
if [idx < 0] break;
str = str.substring[0, idx]
}
reversed.trim[] # Oh, yes, trim too
Đầu ra:
"fox brown quick The"
Đã trả lời ngày 23 tháng 11 năm 2015 lúc 18:26Nov 23, 2015 at 18:26
Klironklironkliron
4.2154 Huy hiệu vàng30 Huy hiệu bạc47 Huy hiệu đồng4 gold badges30 silver badges47 bronze badges
Cách đơn giản nhất để làm trong JavaScript. Ở đây thay thế [] có /, /g nó sẽ thay thế tất cả dấu phẩy từ chuỗi này sang không gian.
var msg = 'Hello world I am Programmer';
var newstr = msg.split[" "].reverse[].join[].replace[/,/g, ' '];
console.log[newstr]
;
Đã trả lời ngày 24 tháng 4 năm 2019 lúc 5:43Apr 24, 2019 at 5:43